JAN/FEB ’87 ee BULK RATE
U.S. POSTAGE |
Vol. 3 No. 2 PAID :
$3.00 U.S. Funds COLTON, OR 97017
PERMIT #51
POSTMASTER:
PLEASE EXPEDITE DELIVERY
DATED MATERIAL
ADDRESS CORRECTION REQUESTED
pee e ee ee Oe Ow ww www ww ww ww ww ww ee
ene eter cre ee 6 0 0s 6 6 0 6 60 0b 60 0 0.0 0 0 6-86" 0 6 6.0 00 6 00 © 0 0 6 6.0 6 0.0.0 6.0.0 0 0 00 Oe e so 6 800 60 0 0 6 0 8 0 0.6.0 6 6 6 0 6 6 8.
OI ane he he a BHD ee ar ah a a BSN athe ae at
aleleloleleeleceloselececeseasstusatarstesstoteteteteteteretetesesetersresesestasssssesrsesstenstetesstasetatetatetatatetetetarstatstonstersteretetecsnerosereseterecesesesesererecssessterstersterstetstarstetetetetstersteretereteretersseseceseeseasnsessedonssensenstaretasetesetetetetetetetsteretenetenseenseerseeseasssassesserste
ssadetesedeteleteserecesececececesscecesecesstesssecsseccaretorsteceretecenecensseassesessreasssecseseeesmstosstecatetarsteratetareteresetoresecstetetetetereteretecetecetesetspecerereasseeesssseesseesmetonsteratateteteretereteteterstorstererstorssenensserssenesessessceersecasstarsterasstarstetateretetereteterecerensterssessecasees®
orsteleteteleletelasesetesecetesesessstaretarateteretereteteretetersteresecerssesesensmeeessstessssseesseteretetanetareterstetatetetetetareteteteteteterereteteseeeresesesezeseseseressssoerestesssetanetarsterstateteteretersteterstetoreteressserecereseseneseesgegeassseessonssetasetetaetetetetetetsteteretersretereeteseserssensresest
ssadetesetsteletesieleteeteseseteseleseseresecessseasielaieceissseraseteresetoresorereseesessssessesseessesessteretetaretarstetetetetetetaretetstetereterereteresetereceresezesesersresessessestosssecrsetensterstetateteteteretetetesetereteresetenetoreserenesecesegessecoenseessetaseterasetatetateteretetetetoreteteresetercsesstesstess
orsteeleteleteteleteleceseceasccasasataretotateteretorstetereterenecereseeenseeneseassesesseramsteseessetarateratetateteratetetetaretetereterstetereterereteresenmrecenssesesessseresessssnsecsestenssetarsterateratetetetereterereteterecereserersteresesssesezesegesesessssenssetaretarssetarateretetstereteteresetereseterseeeeessresses
IN CRIN Mo ee Ne ar a Oe ate BS BS ae Sea Se BN Oe
orstefeletereteteceteteletececeseleteseasasataneteretecsteterssecerstereretorseerereaeesseasssnersierer aren eerereressrererererererereterererezeleleteleleteleseresesieasaessatarataratetaratarataterateraterateteterssararsaretatetetate”elecelsielslsseisisitasisitasstarecareresesterstetataterstetsterststarsseeerseeeeeeestscesesatat
olesvcossascsatsentaretasatenstatetotetanatabnielnte’ttetatatcraronseavoresenscetsterecaseaneme tence nen tee tee htetate satel tabete ota aS Na ER SS ACER Tre nn MMSE TS RAE Mite” ” Y seataretonsseterspor manensterenecnas oes nah seamen tatatatstet staberetenaterersfoneseesss
wi AR NU MEOH? 5 oe ate a aT RE POI SEE a el Ue SU <2 a BERS SCP ees te gC ea
wetsnestsestatetatchsbabahhetctob aaa etatatesirooneeres pgsnvoesor Seales SoM tena TERE Rate bebtatetetecsterecezsetoyeonavanaatene eecemisvater caterers euatateysnestarseeseseress
eve oe eee eee ee ee ee eeeeeeeeeeeee sees
saat ae ASE AR a em Ra ec, SNR
OTITIS enttrrstnnrsncrrnrsnss mmm emmy HNN N NTS TE ietreerireteteteteteteteteteineinnerssescs snes
RRRRNNR NERA ERE EE a ee - <7 i a - a, . Ce o » . lini ihSHN Nine NEN RR ERNE AAAS S eS eI
sleleleleieleleieisieeiintsintisntrrtrterrnescss SSO eee eC IEEE EI es
sleleieleieleitieintintiiitetenetstretrceerrecrrcnnss PRI a A OR HIN SEES ttie retelling
FP ee te mt oe ee te ON ea eg ee ee te
SS PP Fe PP a had te ta bat ee eit oe Se ae OS ee ld pe teh
00.06 008 Oo eee Oe ets a Ore 6-88 68 66.0 © 0.05.3 8-4 6% 4 6 F200, 9, 0,8
steve te sb 6s be 6 ee 8 66 6 8-6 0 68-668 0.4 6.6 5 ED 6.2.6 86 01888 f Pee e
avers te ete ere bh ae eb a bb OS © 00 6 6 6 6 6 6h 6 6.9.0 FF 6 8 6 OO 6 0000 reat
atgtatctete Ce ee eet a6 bh e608 66.8 2.2 6.6.0. 9-0 50-0 0 6-6 £9 56 2 + 08.8 8
e@eeeeeveoeee esr
eseeceeeeeee eo eee
eeeeveeeeeoeeee
eeeeeeeee ese eee
eeeoeseeeeeeeeee
ecoocoveeceseeeeeeoeoeeeeeeee eee e see sevice
eeeceeoeeseseo eee eS eeeeeee ee eeeeesee vege
eooeeceeceeceeeo eee eee eeeeeeeeeee eee esses
whats eh ere hr eark 616) 6 8.8 8-6 5.8 2-0. 08-94-39 0S 8 SO SO Re 88 8 0S
A er ea tetra te ee ST ad ey
phate tb ete se bee 6 6 bk 6 0.0.8. 0-4. 9.5.0 -5-6 8.9.00. 9 8 6 22-8 fo 9 8 8o S68 OP
orev etna ete aire bo ab Oe 6b Oe 8 6 6 £8 .8.8.6- 8 BO: 8 68-8 89 6 68.0 0 8.908 eae
ona anee ete eer eres bak 5 6.8, 5b 8.5.0 8-0..0 6. 88.68.6808. 0,6 5°08 6 66 0 0 8.0 8 8
otena bere eens el be eee 6 6 6 6 8 8 0.8 8.6 0 8 h-6 2.5.6 0.0.8.6 RO to .0 0 0.0 08a e
tote tctetetatatee ek kee ea 6 8.0 6 48 6.6 0-0. 6 8-0 9.9.2 6 8 9.6 8 9 > 6 0 9 0.2098
otctc a ete see eee 8 6 6 6 8k SS 00.0 6 8 £2 8 0.6 FCO 5 6 0.0 6 0 0.0 20,0098).
‘ate Terenate te ee ere kb 0 0 6 61d tt 66 88-6. 68-08 BIR. 8.8 6.9.6.0 # 00 20 0 88 8
atetetarete ea ete a eee 0 66 kb 65 66-6 6 8 4 8 6 6 SOS 8.6 8.6 08 8 oO +00 tee
ntatenatate atest s ae ebb tls 0 85g 6 6.6 8-8 h 6 £9.06. SF RS 0S 2 0 4 2 0.9 02,
eesecv5cecee eo ee eee eeeereeeeeeeeasesvesvove
eeoecsoeeeeeoeee ee eee eee SFOS ees evesio
eee bb 6 66 6 6 0 b.6 6 0 8 6.8 6.8 6.0 6:6. 6 6 @ 6 6.0.6.6 0 0 6 6 06 9 0 6 8 0 Oo 0 6 08
eeeeeee es eevee
eeeeeveeeeee
olsielelelielneineneineineiginginnittestetrtrenrernrncrrrcnc: BCR BB a SO SEES INleideteniccenesenns
SERRRRN RENEE NENA E NA ee ee ©8080, Ml ME 00 00 9.9 eet? EM 0,0 00 0-0 o", MRNA SERENE RENNER EMER AE Aaa
le eee 6 8 8 6 0 6.6 6 6.8.6.6 6.8.6.0 6 60 80 6 6 0 6.6 6. 0G 8 8 6 6 4 6 0.6 0 0 o 8 0.0.8
cree oe 6 06 6 6 6 6 6 8.0 6 0 8 8 8 6 8 8 6.0 6 6.6 0 6 66 8S 0 6 0 6 6 6 6.2 6 8 6.0 6 88
ee 66 6 80 0 8 8 8 6 6 0 0 8 6 6 6 6 6.8 6 0 6 6 6 6 0 0.6 6 06 6 6 8 6 6 6 8.0 0 0.8.9.9
Cue b 6b 6b 0 6 60 6 6 6.6.8.8 6 0 bw U0 8 0 6 6.4.0 8-565 2 6S 0.4 2.0.0 2 6.8 8 0 9.8
o6 eo 6 6 6 6 6 6 6 6 6 6.6 6 6-6 0 6.6.8 0 42.6 6.0.5.8 -6 0 6 6.6.6 0.0 6.0 6 6.0 0.0 8 29 0
eeseeeeeveeer
ere ok 6S 08 6 6 6 6 0 0 0.8 6 6 BO OO 08 6 6 6.0.6 6 6 6 6 2 0 6 6 6 © 6.0.0 0 0 8 8 ee
eeceeeeeeveee eee eee e ee ee enee
eovuoeceveveeee ees eeeoeeeeeeeeeee eee eee
eececoeveoeeeeeeeeeeeoeeeeeeeeeoeeeeseerevove
eeceveeeees eee eee eeeeaveeage
adecoacestacstetstateccatatetatstatenetenerenitoetetensteremecerereremerectaereamsstgnrtay = I gC Sagetanatirenissresetetecetotelacessseseneatatatetateretaresecerecesarersrereaseeressens®
oretesecscodescnseccacstotstatatetatetetetoteratetetetsteeceectersterereneseserenssenmsteesess, = ttti(it‘“éaS:*;*«*d OR eg ates reteetecrecerissesscasetacoterosecoceceseovssasataretctstersterscecerseerecerecertemsse®
seria gir ietememeenei: I I a a... = _s, Bateratitetetateratatetotecnressantoneansuseseancnebatanane ta atstytgtststenatpteneuatacnteress
gO Oe ee eet tog a ae 6810 6 8.0 5.0.0. 6.8 66.4600 66.0 6.0 2 OE © 8 ee ee
eratetctets eb ens bbl 6 ob 6 8 68-0 6.006.088 8 0 0.6 0.8 6 6.9.4. 0.0 0.0.0.0. 9.0,9,9,5
A el ed ter he he) ae Be BR PSO Ps
yietetetate ee he eee ee eek O86 8 80 88.0 2 FS 8 8.08 0.9 6.6 0 0.00 50008
eretatete ete sete be bbb 6 6 9 © 0 6.6 8.06 6.9 6.0 6.0.6.6. 0. 6.0.0 0 6.99%. 0,°,0,9,% 5"
cette terete Se eek 8 bb 0 bb Sd 8S 0.6 6.0.6.8 6 6 6.0 5.6 2 5.5 6.5 0 2 089,”
eats ee eh e kh eee 8 6 8 D8 8.8 £026 6.6.6 5 2. 6.6,6°9. 6 6 0 0 6 8 28 we Ot ete s.
eratetcte cle ete ee eee beh bb 6.8 8 6.0.0 8 0.6 84:8 66.6 9.0.5. 6 6 8 0 86 088 Ot,
eeeeeeeseeeeve
eeoeoseesoeoeeee
eeeeeveeeeee
eseeeceeeoeeeoeeeee eer eee es
oe Ge 6 Ob 68 0.6.8 6 8 6 06 6 0 6 6 0 6'e 6.8 8 & 6 0.2 6 8 6:8 0 0.6.6 6.6 0 0.0 0 29.8
es 816 be 8 8 8 E66 4.6.8.8. 6 566 0:6 0:0 60 6 06-4 6 4.9.8 2 6.6.9 9-8 6.8 6.6 © 0 0
eeoeeeee ee eee
eeeeveese eee es
eeeoeveeseeseeense
eoeeseseeeeeee oer
6°66 6 06.5 6 & © 8 6 6 0 0 8 6.6 8 6.0 8 6 6 6 08 6 8.6.8 6 2 8 6.0 6 0 0 6 6 2 2 8.6 99
eoeeeeeeeee ee eee
ea 6s 6 6 0 8 6b 6 0 8 6 6.0 8 6h 0 8 86 6 6 6.0 6 6 50 0 6 6 FO 0 0.0.4 So 0 086 ee
ee 6 be 6 6 6 6 6 6 06 6.6 6 6 6 Ob 8 6 6 0 6 68 6 FO 8 0 0.8 6.6 6 0 6 6 6 6.0 8 9 0.9.9.8
eee 6 @ 6 0 6 6 6 0 6 6 0 6 0 0 6 6 66 66606606 0608 6 to 6 oe 8 6 2 6 8 8 ee fe
eee 8 6 6b eS 6 6 0 6 0 8 6 O 6 0.0 6 8 0.6 8.6.0 8 0 6. 6.0:9.0 6 6 6.6 8 & 0 6 0 0 0 8 08
ee bee 8 46 0 66 8 6 6 6.0.8 6 8.6 0.0 b 6 0.6.6 6 6 6 6 8 0 0.0 6 6 0.9.6 6 2 6 2 0 8 019
6s ee 6 be bbb 6 6 8 6 6 0 6 0.8 6 8 6 0.8 6 6 6.6.6 8 8 6 8 8 tO. 6.8 6 6.6 o 6 O00 .8 8 8
eesceceeecee ec eee eee eeeeeeeeeeeeeeeesee
eoececevoeoceee eo eee eee eeSeHeeeeeees seas
eecooceeee ee eee eee eee eS eFese se eevesoss
eceoeeeeeo ee eee eeeeeeeeeeeeeenes ee es eves
eovceceseeseeeeeeeee ee eeeesc
eeseeceoveeceeeeeoe ee eeeeeeeeeeeee eee eevsc
neta eae eb ee 88.88 £48 6.6:5-9 5.6.0.5.) BD 6.64 6-6-8 88 #88 8 ote
alacant tcne e na er erete eta sb 600.68 8-86 66 0 8-8 6-60.90 & bo 2 88 8 08 6.0 80%
etutatetate sre ce eb a 8 6 8 68 6 4.6 6 8.6.0.6 6.8 6-60 6.9 8 gS SS OF 6 S60 0.80,”
NP ta ed te aE at Ge ek pl oe ES
eeccovoeeeee ee eee ee eeesSSeSeeee oe eee sver
eeesevesceeeeeeeeeeeeee eee eee saves vive
eocecvoeoeseeoevee eee eee eeeee eee se eesvivoesr
ecoceoeeeeeoeee eee ee eereeeee eee seevesosge
eat atate bh bee eee bb © 80 6.8 8 88 SO) 8 8.0L ES 88 6 6-6 8 8 8 OOF
pa AO © 2 80898 obra 8 6D O.0-8 9.0 66.65. 0 6-0 6.00. 0.0 1.5 0.6 8 0 8 Feo”
ptatate ate e se ete CLS 8 eS 6 6 O80 6 6 6 6 6s 89 0.6 6 6.8 6 0 8 oS Oe 8 OF eee
eee tee ates CA oe bee 6 8 8866-6 08.8 6.6 #64 tS 06 8S 8 O80 088
0.0.6.0. 6 0, 000 F tele eo 6 6 50 0 8 0 0.2.5.6 9 9 0.5.6 8.5 2 6.6.0 9 8 0 0 0.8 te
orsteleleloleteleseceisceasctarstaratetatetetetetetersterssecetenesecerseenecereneseseneeeeseess OB NR eieceleteieteesericeresereceteresetetecesecesetsceasstusataretereteretetereterssessterseestes
starabeatseetslatehanetaiatndetetonatetatntchatetalssetaeenstorstrctensroneteterererscerersrensy Nw RB I = = Ait tatetetetategereeeeotapevesecemeansestassectatstatstetstetetstaneseberatarerocssesereots®
Sa eters ate greh a Cees a tsharstapeanen tool eanmceentmeengeeatgngs = ar IR RR ere ae ee SAR Uaacas atte epnc rime meee atten eran bare cara gear cesta tpsetenver ecariereones esttoek
SP aa EIN OS Oe Na OL Nr SV ee Aa ll Et ees tea en RR RI IOI
Pa RN SRE IE OO NR ne AER EE RR OR le ee ee eg Spe Se ae Dy re eee eR,
Gee aaa ak ahah nara hana Pata nes tchat te ctatatatcaceb ataesretecesecenerenecese tee, Ee reat cerecaretataee a tara etal tote neladaintatseaseeatonnaartnl geass age
PR Re pe Po SR a kN OER ll et lI ee en Se en NCS GRO ne
BCE er RH PED Rn SOR REC Le Te ll eR ee ge Re er 1 2 rN OK ne RS
Aero eine ene anetety atatatalpteanetsneiounctee: eS SEE LSS See Se aaa ate crcecrarnegee tate Oav eeptatanct tty te hacatatenaltanuestenanetanatpeatecarecoerev ae
eececovee ee eeeeeeeoeeeeeeeeeoeeeeoees oe
eeeeeew eee ee eens
enna ohne eo bbe ee EU UE 6.0.6 6.6. 0-4.8-¢ 0.9 0. 0.8 5-88 88 © 0 8 toe ee tee
-e@eeeece see ess
ete ete ae 8 6 ba 8 EET, 64-8 0.6.6.6 0 66-0. 6:5 8 OS oO 0 6.6 4-68 0 Oe Pee
pfetere te ete es eke be 6 8 8 8 6.6 0 60 6.0 6 6.6 8.6 6 6 6.0.6 6 6 58 0.8 oO ete e
clavate este Ree 6 £6 66 5 8 8 8 6 66 6 6 6.6.6.6 6 0 6.9.0.6 80 6 6 0 4 8 0.0.09. 55
Bee NMR Nenes Re Aceagtet ha cegeatatatatah et ictstuaseatsretsiote Tar acenceretesnt 8 a ER eR iets or renin canst artttate’eiaec atguatanateraciieterenieantarnnosn canta
ee ae Rae Rea eo ON a ee ee ee ee Caio AR On RIK Rp ES
esocoesceoeoeee see eeeeeeeeeeeeeee ees eee
ob 6b 6 6.0 6 © © 6 66. 6.0.6 6-8. 0-6. 6.6 6 6 6.6 0:0 2 -6:4 € 6 0 6.6 6 8. 6.5 G6 9.00.0 .9
eseceoeeveeeeeeeeoee eee ee eee ee ee FB eeees
_e
Oi hsiiiintinindngdannntninininissssscsssssss: Boy 6 8 46AT ASD QQ DUNUSUNUEEEE Eee Se gs
RERRRRRER MERA ERAS ESSN © 6%, EE, oc loo UY oll MP. coc 5c ME «Se 0, GD . MEENERNRRN NNER ERNE NERA NE RSS ENS
RERERNEN ERNE NERA SERRE 08. Cy oc SOCCS. Uy om My oc llce MEM, 00 0c,o Ce , - MEERERnRRRRERERERRR Raa RENN eR RR
eet 6 6 6 6 Ob 6 6:8 G0 6 4.6.0 6 6.0. 0 6 0 6 0.0.0 € 6-6 0.6.6 5 5 6 9.8 8.6 6 6 0 8 0 0.8
6 eee 6 8 66 6 © U6 6 8.6 6.8 6 po 6 Ue 6 6 59.6 0.6.6 64.9 8.8 © H.0 0 2 9 99 9 2.8
tetetetetetetetetetoretererererererese treet ttt, mr greets Wy § ATAIYA ATF Bebe
erute te ste eee 6 616 0 ' 8.2 8 05.9 8 8 8 0.6 0.8 6 6.6.5 2 0. 6 8 6 6 2 6.9 2.0.0.0 * O80 UF
6A Pe a te Ie A i OM Se ee Pt ot or te
otc eter a ebb ee eee a oO 6 6 6 0 8-66 6.6 6.9 6 6.0.0.8. 0 © 2 5.40.9, 0.9 0.6.0.8 68
. -ptetotetetetete ee be 618 56 8 6.5.9 S60 8 8.8.6 6 6 8 86 60.0 tS 6-9 6 Oe O08 8 tee
ote carat ere ce eke ob ke 4.6.88. 8.6.6.6. 6 6 6.8 6.0 0.0.6 6 6.6 0.6 8 & tS 0 o 6 0 Pe
tetetetate ate be ete ah 8 8.6.8 9-6-6 8 8 5.8 6 8 8 6.9 ¢ 6.9.8.0 86 + 8 UD 8 08 88 Se
terrae bie tne bb ee ha 8 66 66 8 88 S66 8 SESS 8 SO S8 SOS ee ee
erotik teteteteld obs be ere eS 6.8 6.6.0.0 b 050.6. 8.6 6 6.9 60 8.88 8S 8 Foe ee OOF
0 (0 ef 6 est tt a. 8 4,88 bo 8 8-6 8.6. ©, 0 nb Oe 0 SF 6 66 8 SE 8 SS 8 Oe et le
ee 66 bb 6 8 0.0.8.6. 6 6 8 66.6 6.6 0.6.6 6.6 0 & 0 0 66 0 6 0.6 0 6 0.6.8. 6.6 6 90.9 95°
-@eesesoeeseees
eevee eeeeeee eee eS eee e
ete ee 6 6 6 65 8 6 8 6 8 88-8. 4-0 5 8 8 6.6.8 6.6.6 0 0 6-0 6.8.9.9 + 6 9 0.6 6 5.8 0 0 aoe
etc 6's 6 eo oe 6.6 8 6 6 6 be 888 0-8. 6 6.6.8 6 2 6-4 0.6 89-6 2 8-8 8 FS 6 OS 0 Nt,
spe e e 6 0 6 6 bb 6 8 6 6 6-6 6 6 4 8 0 0 0.866 6 06.60 6 66 2 O05 0.) 2 88 8 0 2 9.0
eeeoevcueeee eee eee ee eee ee eeee se ee sever
een eceoseeceec eo eee ee eeesereeeeeeeeeese
eoeoeeeeeeeeee eee
eeconeeeeeoees eee ee eeoeeeeeeoeeeeeeses eevee
eeoeceoveveeeoe eee eee eee eee ean « r
eeeeoeeeoeeeee ees
,eeseseeee eevee
RAS - 0.0.0 Oe. > “ROM, CHE EE Dee, 90-2: Ee cee ® So SE 9c RENRRNRR RRR RRRRRRER RRR RRR R RNa I
(SITIES ne aa sei Ne oT eee ie OQ
RERMENER RRA AERA fi Na OT eum SR TE OOo Qe Uo ce, SE, \ RRR RR ER ERR RNR RRR
IDES PITS ce ee er SI OPO OT EEE ncn sn
RENRENENRR RAEN fo ss a i i °° ai i i cd REninnin nee Ree eR RE ME Naa a SS RR
RENE NRNRRRAR AANA ci ° oa il ne ., en oe A oS Bunn ENE RRR R RNR ARRAS Sone Se Se
RERNRNRNERERAR AEE i i A i i A ol A Pe Minn nS hehe Rene KER a Sa SSa a aeOeeea
areleieitatetetatatetatateteteteteceterecseerersecterenecererececeses, NM eM FT steeterecstecrcscstrcrstesessrateseretetedecetecesecectatatatsteteteteteterereterererccssenesees
eececeseeovoevevee ee eee eevee eeeeeeee service
ececceeoee eee eee eeeeeeeeeeeeseeeesevo:
eee eoeoeee ee eee eee eee eeeeeeeeeeeseeecve
ee cceoeee ee eee eee eee ee eee eeeeeseess
Ieee See ellininnnannnsntiststsrnnsrrrrcnss BI gt BR terete te retentions
REE EKEENENER ES a fA A oe oC ol CD Ci GNncncnhh hin hs heRRn ena Re ReneS aan aao ne eee ee
ISeleseleeleleleeeieiceieiiiiningingnsnsnstctnnnmsncnccs: 9 A ag RB SSeS ces
RERNERNERER NAA a + i a aa oo? i Co Cn Gl iy Me ininnnnnu Nn seen knnnnn nahh isha no M eee ee
SENERRNRA REAR on. . i a ae a ol Os i nn Cty Miinnhnnn hin nnn enh nk inne Shia hs oi cin iN Sits Se
SERRRKEN ERMAN RR oe! te a. Oar i ° Dl en [a GamnunnnnnnnnNnnnnkn kainate NS Sea
RENRNNRNER NERA RE ee CO i o i ok il | a Ol EE Ge . BEinNinnnnn NNN ene R eh Rai Ano ONS SER
olelelelileleeiiiiningincncnnnnsntcceinnns: Regi Lagi BA Fee FO UO Siete
etevetete eee aero es ore et se 00.0 0.0.0-0.0-6.6.0.610 0 8°80. 0
totet ete terererererer ene ee eee eee eee etetetetetetateteteretetetes
ener e tate enere tits otto e 5 50.016 -0-6. 6.0606 9.6.6.0 0.0 8 4-6
ee PE a I I al el pene rhe et dpe kD PP OS ol
HITTITE eens Be Be eet Ge OF Ret ESQ CEERSEEEEEE Si teens
meters OO Oe Oe Ee Ee 0 tO 8 ee Be oO ITI I CO
30, 8_0 0.8, 9 5.5.0 018567 Ota eta tee e's 8 0 00.6.0 -8_6 6.6.8 0.6 0.66 6.6. 0 0 6 8.0 9 4
RS SO a Pare at ad se he bk
eB ar ar ht he Be Pe SK I OS OS
ata t eaten ctatatatetetere te ate irbte old 6 a hee 0.6 6 ote each S670 9 9.66 6.6 6 6 0 808 8
er ee he an ah HS PP I
ata ta erent erate tanks hte ghee cereale ates 9.0.6 0 8 6-810 0.8 6 9 9.8 8-6 4 8.8.9.0 6 8
ee Pt he he oe ta a BB
ee ht et he he he ht ne BB
eS hea eet te te Be MO SP
BE EN RLF I dS gb te SC he CBR RR SR SR RU PA
eeevoeouvoee oe ee
6 6s 8 8 6 6 6-8 0 Ow 6.86 6 6.6.0.6. 6-0 6 86 0 6 © 6-8 8.9: O.9 2-6 6 0.0% & & 8 6 9.0 0
ofan e 6 6b kv. 6b b 0 8.6 6 6 8 o 6 6.0.0 0 6 69. bt 6 6.0 0.6 6.6.0.6 0 6.0.6.0 8.5 69 08
Se ee 66 6 6 SS 8 © 6 8.6 0 6.6 6.6.6.8 6 6 5 6.0 0 2.06.6. OS 00 © 66 Ne C0 6 808
26) e 60 6 0 6 60 60 8 6 6 6 6 6 8 6 6 0 6.0 6 0.8.6 6: 6.0 60-9 6 0 6.9 0 2 0 6 6 8.6 0.5 >
ea 6 eo 6 6 6.6 0 6 0 6.4.6 6 Bb 6 8.0. 6.6.6 4 0. ¢ 6.8 6 6 0.0.5 4-0 9:0 6 6 6.0 F 8.8. 9.9.9
ere e'6nt 6 0b 56 0 0 bo 6 6 6 6 6 8 6 6 0 6 6 06 6 0H OS 6 6 6 0.0 6 8 oe 6 ee fe °°
ses 6b 6 Oe S46 O66 8 6 6 8 6 O66. 6.0 6h 6 60 6.4. 6-6:9 0. GO 8 6 0 0 0.8 66 2 0
ea 6 6 be bb 66 8 6 0 6.56 4 60.8 6.0.4. 6.46.0 0 8-08 2-8 8S 6.6.6 6 6. 0.9.0.0 9.8 0 8
a ee & 6 ob o-6 68 6.0. 0:6 6 6 6.8 66.0 p 0.86 8 4-08 8 6 0 6-9-5 2 0 2 8 9 8 YS © 96 8
eeeoeeeeee eee ene
e's 6 bb 8 6 6 6 6.6 6 6:6 8 6 0 6 0 0 6 6 6 8 6 6 6.0 6 6.0 8 6.0 8-0 0 8 6 8 2 6 Oo OO ee
eeeeveceeeeo ee eeeeve oe ee eee eee
eoecuvcseveveeee eee eee eee oeeoeeaeee cessive
eececeoee eee eee eee oes eeeeoereeeeeeeeevas
eesovoveveeee eee eee eee eee eee ee see ee soe
eececoeoesevecee eee eee ee eee eee eeeeesoeeee
oe eek ees Ok + 6 6.8) S86 BO Ore 0 S68 6.8 6 8A S 6.6 SSeS ef Pe ee BS ee
ae ence a eek be 6 8 6 4 68 6 616. 5 6 hw 6 ES 68 8 © 0-6-8 9 CPD OB 8 888 Coe
aane tee ek a rb 818 0 0-0-8 6.8. 6-070 -6'9 8 56h 5. > 8b 6.4. 00 0. 0 8 8H 8 CERT
shee tatere ee ee 6 Ob 6 88 6 8-6, 0-68 6S 888 8-800 9 WB C8 98 8 0 Se Pea
a eke oS 6 bbe 6 6h Oe 8.8 8 2 9-020 60. 8 ROE SD Oe OS 8 SV SS 8S Sf ee
eter eed ee ete te 6 8 66 08 8 bk 6D 68 8 EDR OSLER DOO 98-88 6.8, SW OO Bees
eeeseseeeee ees
erence 6 bb Ce 8 2 8 6 8 6.6 6 U8 06 G6 8 8 8-8-8 O68. 68 OO eB SD Oe ee Oe ee
ee p oe 6 6 8 8S 6 6.8 5 Oe 68 00 48 8 68 8.6 SO 4.0 8 8 Oe
eooeseveee eee eee
eeeeeoeeeeeveee
eoseeeveveeee eens
eesveeeeeveeeees
ena ee ee 6 6 6 6 86 8.6. 6 6.4.8 8 60 6 & «655 0.0 0 6:0 6 0-0 0 & S66. 0 € 26.0.0, 8
eseeeveeeee eee
eesecerneece eee ee eeeeoeoeeeeeeeeeenevecsf
CR OE RRSP RG ESN 9 il eee cee ee ee se ey RI ea ee he
besa teraesstegieta toh laeahatatna eeglanatanateen state onesteas namie ceva Re _Tatnlepiercmatectatenennat botbociety cheetah ata ete enta te aisin eater mne ences
SS Cada i aR mS SN AI ee ee Sa te oe Wa ee ef eR me
syesecoecnanrsatsbatatstale tat ontatenatehanetalebasstorecsreiesstecsreanematisceceraceerettscs IS a IE eee Bisel steteecoecetaitptencrenratatete resntecatvcncarstonneanysity
erisearsconsteeatstatasabiashalebaicirtaletstareletansteretecsisrstersinememenscscrcrrses, IIR A I. Secicererirerererrsrerecete cece coteteseastistanststetanncatetanerstersruatoresnsesvoctge
nrooresocesscestaastatatobetatstaretetecetsteretatereeseerecereemiseestaereateeneresteeseeteses es I BP ZING Setetecteteetetetne toda letetacetieteecoties ae cotedscricasscestaseserecetaretey
davrhersschaseeutstahatatetitasseetotarcctscarctasteteteesemememerecers, ee VIN DINE ose crecetec cacao eiatacaiocetcctecececce ccatseasassoeatotecstrsetens
eoseeeseeeee ee
eeseeeceeeeoeees
eececeoaseee ee eeeeeee eee eeseeeesreesvoesvi
esecscesestarctstatstatatetcteterccacerscecsterceeeeterececeseseemeesess BIEN Ee DEN cisinterecetnesoterevecotocessascocesocecesustaecnctstatetgtatengtlabetstetatetersonseretarere:
Se NAR SH eS Se SRN ll ee a aa peg Po RF A RANK ed ole eR
Saat ee ksh Raa ata an a aR Oe a ee aN a io RE aed ee OE
eset erent hatha aba eer arat canals tal ath eestaetbateosSeOMMPTRESSDSNT STR COL Sg ow o.mvs 53-25, nranararecoiacove’a, osrivorsioin.e Ae, 5.0,6,0.0.0 t:0,tshd. thd UAstihss*aeshaeyts tuted sto?acp tote STU UeSOPeRenetet recaTote orate otenetatonstanceastctabettialersnes tate rnmotetacn bcisees
orsteleteloleseleseceasccusstanetatetetetetetetetetorsterenseerecsrecersseseseasseastsasssasetacetereferetelerelerelerelecerecerecerecesecesecetatsnatieatatatatetatatatatatetetetetatetetetetetetetetetatelatefelefelelelerecerelesecececerssenetemnessecssrsacstenstanstaretarstanetatetetetetetetetetereteretenetereceneeessnererensety
ocsteeteliteteleteteleseleseleseteseneaserasetareteretsteteteretoretereseresezsseasscassecessesstersterstetutatetatetetetetetetatatetatetetetereteretetereteretereteresezeressrerestrestisssuneteretenetaratetatatatetstetetstoretoreseresereseneneneseassecsseeenseestensterstenstersteretetetetateteteteretoreteresereseresereseesssassees
orsteleteleletecesecntecasstaetatetatetereteteteteretoretereserenecenseenecesesesssesstessesaseceseterstereteratetarstareteretersterstecetetenetereceresereseseseasgezssesensssssusstessterstersterateratatensteteteteteretereteresereseresenesenesezesscersconeresseesetateratetatetstetetetetstetstereteretereserensteneteserssesensees
orsteeleleleteceteceteseceacdescavaretasctaretorsterstecerecerssersseasseasseamsconssosssessserssersetanetereterstetetatetetetetereterstereteretetereterecerseoresesenesssesseeasscaseterstersteraterstetatetatetateteeterstereteresercesesetesererezereceecerseeseenstesstetatetatetetetatetetstetsterenersseressteseasrereseeeseeste®
orstoleteleteleseceseceatonatatetanetetetenetenetereteretesecerecerecesecsseasscassesseessetaterstersterstersteretetetatetetetetetetereterstereterstersterssereceneassessressrensesstonstorstaretasetstetetetatetateretereteretereteserereserereceseeesscerssersrestasersteratatetatetateteteteterstersteretereterenseresereneessenseestens
oreteleteleleteleteleleteleseleteleseleceleletelssetssserasetosetosetereserssesescassesssesesserstersterstetaretarsteratatatetetetatetetetenetereterenerenetessteseseseeenecenseesseessetasetasetarstarstaratatetetetetetetetetereterctoretenscereterecencceyessssstanstasetasatarstaratetetereteteteteteteteterereretereseyeeeenessnenssty®
orsteleteletetesenessceasetaatatatetatetetetotetoreteretorecenecenecescesscesscasscasessessereterstersterstersteratetetatetetetetetetereteretereseresereserecereneseresenerersresersterstenstanetetetesatetetateteterstereteretereteserecereseperenecesseentasetesetaterstetatetstatetatetetetetetetereteteteersteretererereresererscs
aresecesctetatatetetetetetetetatatetetetetorecetecereceterscsrerececuceserscaserenererenesel8 610160 oe se ectststatetatatetetetareteranstersstorscecerecersasesec0,9,6-9,009,0, 00550 aco stgtatstatatatatatererenerscersreterererorere erere stro, 8.00870. 500,0. 900005580009. *o"o ate
Herat e 0 616 0.0 08 66.6.0. 6 88 0.6 8.0.6.6) 86 008 6 6 oie Oe ee te bo da 8 eh 808 8, 046,008 O10 69.98 61 e 8 808 8 0 8 8 Yet are ee eee 6 ae
ee ett a se oe 8 Bee Se & SS © 68 OS e 6:88
WHAT’S NEW FOR
4 2. =e 2s
COMPLETE SINCLAIR FORECASTS
PLUS...
RLE Graphics % Tax Calculator
TASWORD TWO +
Build a Data Acquisition Module |
Exploring the QL ® QL Quill
AND MORE!
een
Q@L,with 4 Psion programs,4 blank mdv cartridges,and 640K RAM $399. 00+
Vl2K RAM PAK for QL, brings total memory to 640K............ ' $199 PP!
AVATEX 300/1200 BAUD MODEMS, 8 LED, RS232, etc...........06. $109 PP!
AVATEX 300/1200, 100% Hayes Compatible. .......c.cccccccccees $159 PP!
QL MODAPTER, allows use of 300 Baud modem with QL, includes QCODE
terminal program which supports up/downloading, etc......... $ 59.95+
Modapter WITH AVATEX 1200 HC (Hayes Compatible)............ $209 PP!
QL ASSEMBLER WORKBENCH, includes monitor, disassembler, assembler, by
Talent, a great buy, great software! Only........ Es Oe ea S$ 49.95+
TRANSFORM CASE, plastic case holds 20 MDV cartridges........ $ 5.99+
MICRODRIVE CARTRIDGES for QL, ZX Microdrives ONLY(4 carts).. S$ 10.95+
QL BOOKS, Assorted, call for titles, a8 eres So err S$ 9,.95+
¥THE 2068 is NOT forgotten ! 1%
setete tte tate te tote tetetetetatetetete eters ee arae tet ete tatatetetetetatatatetetetetetetetatetatats
OPO RAEE eee: = Fighter Pilot, Night Gunner, or
ae V, only $10 each POST PAID while current supply lasts!
SPRITES 2068, all new! Design, combine, and use sprites quickly and
easily. Includes GREAT demos! Includes detailed manual, sprite service
utility (2520 bytes MC), spritedraw program...............6. $ 19.95+
SABOTEUR, you are a ninja spy who must get a disk from the eneny
wharehouse; use lethal Kicks,#:punches, stars, knives, grenades to
or ente tee,
6
ee oid
ttetetere
etecete
seetatete
oe -
eit no aaa
eietetecete
eetetetete
stctateee
CRITICAL MASS, aliens thieatéen todestray your solar system by taking
Bee Oe ee ee
SOs la eee mS eo ee
over your anti-matter conversion, piant. You must infiltrate the plant
and destroy the convertertefore’ BOOM! and it turns into a black hole,
destroying all stars and pianets in your system............. > 15.957
SPECTERM 64- Brand new 64 columm terminal software for the opectrum
or 2068 with Spectrum Emulator and 2050 modem OR ANY RS232 BOARD! Yes,
1200 BAUD (300 baud with 2050 modem) on a 2068! You get 64 colums ON
SCREEN, built in XModem up and downloading, half/full duplex, 31K
buffer, can transmit/receive ANY file- Bytes or Progran. Automatically
saves Tasword II files properly! 4K user menu area, and documentation
FOr 2Uii power woods, 83) 7oe Ges es 68 es Ss ee ' $ 29.95+
DOUBLE SIDE/DOUBLE DENSITY floppy disks, highest quality, lifetime
guarantee, Tyvec sleeves, user ID labels, and write protect tabs, only
75% 75 CENTS each (minimum 10), or 100 for 65 cents each! (100 shipped PP!)
o>
Unless CtLAerwise: noteci, PLease] acict
SS Shippiny,g For software, 6S For
rnardware, or $I For aA OBL package.
Send check or» Money Order to:
VARIETY SALE=>: COPIFUTER BDIVISIoOopr
: Department TrDoni— > |
weet: We St IER SeY ST REL T , +H 2 [>
Etii “ABE TH, MEW TFEeRSeE YY Of sos
2Oo1l—S27-0535 FOR MORE INFORMATION.
MAGAZINE
FOR ALL TIMEX AND
SINCLAIR COMPUTERS.
TIME DESIGNS MAGAZINE CO.
29722 Hult Rd.e Colton, Oregon 97017
(SO3) 824-2658
CompuServe ID 71350, 3230
TIME DESIGNS MAGAZINE is published bi-
monthly and is Copyright © 1986 by the Time
Designs Magazine Company, Colton, Oregon
97017. All rights reserved.
Editor: Tim Woods
Assistant Editor: Stephanie Woods
Editorial Assistant/Production: D.L. Woods
Photography:
(unless otherwise noted): Thomas Judd
Printing by; Toad’! Litho Printing and Comp.,
Oregon City, Oregon 97045
SUBSCRIPTIONS: $15 a year for six issues (US
funds only). No extra charge to Canadian
subscribers. All other countries please write for
information on air mail rates.
CUSTOMER SERVICE: Customer satisfaction is
our goal. For subscription service problems
please write or call TIME DESIGNS.
CHANGE OF ADDRESS: Write or call to prevent
delay of sevice,
Reproduction of this magazine in whole or in
part by any means without written permission is
prohibited by law
“NOTICE: Contributors to TIME DESIGNS are independent
of the TIME DESIGNS MAGAZINE CO., and opinions ex-
pressed in the contents of the magazine are notnecessarily
those of the management or its advertisers. Time Designs
Magazine Co. willnot be held liable for any damage or conse-
quences resulting from instructions, assertions of fact,
review of products or companies provided in the magazine's
content.”’
Renew Your
Subscription Today!
iets: EE RS
Micro-Prolog:
Reference the question in your last magazine about
the availability of the program "Prologue" for the ZX
Spectrum computer. Sinclair Research commissioned a
version of the Prolog language for the Spectrum and sold
it for about 30 Brit. pounds. However, when the rights
to the Spectrum were transferred to Amstrad, all pro-
duction ceased. Morever, Amstrad refuses to publish the
Prolog software. So much for the bad news, now the good
newS...a copy of "Micro-Prolog" is available from: Logic
Sales Ltd., 6 Midgate, Peterborough, Cambs. PE] ITN,
England (limited quantities available).
The cost for this program is §3.95 + £ 4.00(airmail
postage); total £7.95. The pound is currently worth
about $1.45(U.S.). Anyone who wants a copy had better
hurry; there are only a few copies left. The reason that
the airmail postage is £4.00 is that the cassette comes
in a presentation case with a 24 page introduction
booklet, plus a 301 page primer on Micro-Prolog.
Sincerely,
Charles R. Byler
Ft. Riley, KS
A & J help request
To the Editor & Readers,
I have a major problem (and others may have this
same problem) with “self-starting" programs. This in-
volves trying to put these programs on to an A&J Micro
Drive for the TS-2068.
Does anyone have a program that can be pre-loaded
into the computer then merged with the self-starting
program, so that the Save instructions can be changed to
allow it to go to the A&J instead of the cassette re-
corder? Sure hope someone out there can help.
Thanks..kindly,
Vince Stimmel
Hendersonville, NC
Editor: While I heartily endorse and support the A&I as
a Low-cost mass storage device, I found that it's user
guide 44 very skimpy. We regularly receive all kinds of
nequests for help with this system. I do hope that
others will shane info and tidbits fon the A&J. 18 there
such a noutine...dimilan to an "007" on "Spy" noutine?
2068 Music
Program Contributed By:
Joe E. Jenkins
Amarillo, TX
tO —-FOR: 3 2t- Toa.
28 SOUND 7,68;82
6;2,44+2;3,b6 |
G0 PAUSE 1lgec: SOUND 8,8;9,a:
8: READ a,b,c
pio; 9,1550,8;1,
40 DATA 92,4,2,289,5,2,92,4,2,
209,5,2,92,4,1,1538,4,1,47,5,1,15
6,4,1,92,4,4,226,3,2,289,5,2,226
239,2,289,5,2,225,3,1,289,5,1,47,
5,1,289,5,1,92,4,4
Letters continued on page three...
NEW PRODUCTS
For TS2068 and SPECTRUM
VERSION 1.1
¢ Pull-Down Menus ¢ Auto-Speed Control ® Includes Spectrum & TS2068 Versions
¢ Several Brushes ° Magnify & Reduce e Supports Microdrives and Kempston
e Spray e Rotate & Mirror Joystick
e Auto-Fill ® Full Attribute Control e Includes GALLERY, the slide
e¢ Zoom * Fully Elastic Shapes including Circle, show/animator
e Undo Box, Triangle, Ray and Line e 5 Samples of Artwork
e Several Text Fonts e Fast Ellipse and Arc e Excellent Manual
e Cut & Paste Windows
Unshackle your creativity with ... ARTWORX!!
ARTWORX V1.1 - $19.95 U.S. plus $3.00 S & H
REVOLUTIONARY NEW BASIC COMPILER...
The dream of every BASIC programmer has now been realized!
* TIMACHINE will turn your BASIC
* Handles all BASIC except I/O
into super-fast machine code, * Includes an excellent manual and
running up to 200 times faster! 4 demonstration programs
* Handles floating point operations * Compiles up to 27K in seconds
like SIN, COS, TAN * Includes Spectrum & 2068 versions
Super-Charge your BASIC programs with... TIMACHINE!
TIMACHINE — $19.95 U.S. Plus $3.00S & H
ee
A unique combination of planning aids, decision tools, and utilities.
* Scheduler/Planner * Biorhythms
* Notepad * Perpetual Calendar
* Telephone Book * International Time Zones
* Programmable Calculator * Superb Manual °
* Decision Factoring = includes Spectrum & TS2068
* Real Time Clock Versions
* Supports Microdrives
A TIMELY ADDITION TO YOUR SOFTWARE LIBRARY...T HE WORX!
— $19.95 U.S. Plus $3.00 S & H
Novelsoft
A FORMAT FOR THE FUTURE
106 Seventh Street, Toronto, Ontario, Canada M8V 3B4 ¢ TEL. (416)259-8682 «© CompuServe 70416,1435
it Fei RS
MSCRIPT
First of all, I would like to encourage all of the
suppliers (magazines, newsletters, developers of soft-
ware and hardware) to continue offering useful software
or modifications to existing software. I suspect that
the majority of Timex computerist are not all that in-
terested in learning the “ins and outs" of programming,
hacking, and hardware development. We just want some-
thing practical which we can use on a day to day basis.
Please don't think I am knocking those who have a_ more
techinical interest. But neither do I wish to be
criticized for my.lack of.technical interest.
As examples of the above comment, I offer MSCRIPT
(especially Jack Dohany's customized version CMS-5),
Tasword Two, Omnicalc 2, Pro/File 2068. There are more
of course but these represent the ones most useful to
me.
Second, a word about MSCRIPT. I have seen almost
nothing about this tremendous program. I used WordStar
for quite a long time on my brother's computer and I can
honestly say that MSCRIPT has some distinct advantages
over WordStar. Admittedly, it is not perfect but it is
VERY GOOD!
I have not always felt this way about MSCRIPT. It
wasn't until I saw a small note in T-S Horizons about
Jack Dohany's “Jack's Fairware". The article mentioned
a customized version of MSCRIPT which I immediately sent
for. This is the best piece of software that has been
written for the 2068 computer. The original version of
MSCRIPT, and Tasword Two are nothing by comparison. In
fact, the only deficiency I have found is thatend of
page markers are not available (as in WordStar). You
have to print the document to see where the pages
break. Tasword Two does not do this either.
I would like to see Jack get the recognition and
credit he deserves for this fine word processor. I use
it several times a week, every week.
Looking forward to my next issue of Time Designs.
Richard Templeton
Springfield, MO
Editor: Whike giving Jack proper recognition, I might
mention that he has a new addnress- Jack Dohany, 390
Rutherford Ave., Redwood City, CA 94061. Folks who send
a Legak size S.A.S.E. can get complete details on the
Customized MSCRIPT Vers.5 and other "fairnware".
Sinclair Joysticks
In regard to the recent query from a Time Designs
reader about using the Kempston protocol joystick inter-
face by modifying the program or use of user-definable
keys (for reference- see the article "Adding a Joystick
To The Spectrum-ized 2068" in May/June ‘86 issue of
TDM); there is no easy way to do that short of modifying
the program itself. However, there is one simplistic
joystick interface which is "cheap and dirty" (but it
works), which can be used with both Sinclair joystick
interface and keyboard options.
Very simply, the Sinclair interface mimics the
keyboard keys 6,7,8,9 and 0 for joystick control. This
can be done by simply wiring a joystick in directly, or
providing a socket for attachment. The following’ dia-
gram indicates the wiring as viewed from the wiring side
of a DB9 socket. This type of interface would have to be
the low cost leader as far as joystick interfaces go.
Jack Keene
Dallas, TX
CIRCUIT CON KBDO A12
KEY 4
FUNCTION pe COMMON
A SSS SS SSS sy
/ 6 7 8 9 \
/ \
Sm 2 3 4 SX
DIRECTION UP DOWN LEFT RIGHT
“< See ee ee
CIRCUIT hes ne 7
CONNECT ION
9735 IF (L+1)/7=
DELETE line 9745
80 Col. VU-CALC
Dear Tim,
Here are some program lines for people with Timex's
VU-CALC and an 80 column printer.
After calculating and saving your calculations to
tape or disk, break out of VU-CALC (Enter #Q then Option
#1). Merge your printer interface software (it can't
occupy addresses 34573 to 52072). Add these lines:
9700 FOR P=0 TO 280 STEP 70
9710 FOR Z=34573 TO S2072 STEP 350
9720 FOR L=0 TO 69
9730 LPRINT CHR# ¢€ PEEK (Z+P+L));5
NEXT L
9745 LPRINT
9750 NEXT _Z
9755 FOR T=0 TO SO: LPRINT =: NEXT. T
9 NEXT P
A "GOTO 9700" will print 5 pages of VU-CALC (the
total worksheet, not just the screen copy ‘"window').
To keep 7 digit numbers from running together, add
these lines (this also separates every 7th letter if you
have TEXT):
If you do not use the workspace below line "AN" and
want a neat looking double spaced work sheet, change
these lines:
9710 FOR Z=34573 TO 48500 STEP 350
9745 LPRINT : LPRINT
DELETE line 9755
If you only want one page, change these lines:
page 1 - culumn 1. to 10 : 9700 LET P=0
page 2 —- column 11 to 20 : 9700 LET P=70
page 3 - column 21 to SO : 9700 LET P=140
page 4 —- column 31 to 40 : 9700 LET P=210
page 5S —- column 41 to 50 : 9700 LET P=280
DELETE line 9760
A "GOTO 3000" will give you the option to return to
VU-CALC.
Carl Green
East Liverpool, OH
spinning wheel
This short program for the TS2068 draws several
different "views" of a wheel, then "spins" the wheel for
an interesting animated effect. Try it out!
Program Contributed by:
Charles Goyette
Drummondville, Quebec
Canada
4 REM If you don’t want ta £€
& the wheel being drawn ,- insert
GQ PAPER 7: INK 7
Sh thnk
5S CLERR 235999
15 LET 3s=30000 ;
2OQ READ q ; f
25 PORE 4,9 *
30 LET asst¢i1: IF a<3@@47 THEN
Go TO 206
35 DATA 33,0,64,17,0,120,1,0.,2
4,237,176,201,1,0,40 197,62 5,33
,0,120,0,17,0,64,1,0,24,237,176,
6,20,14,220,13,32,253,16,249,61,
32,235,0,193,16,225,201
1@0 GO TO 3806
118 LET t=s=USR seeea
115 LET r=PEEK S38@84+256+PEEK 3
@8a5+61d4
120 POKE 30@05,INT (rve256)
125 POKE 30804,r-2564PEEK 3eaeaes
130 NEXT fF ;
ion. CLS
140 REM Machine Routine Starts
Here
245° LET L=tSk Sseele
150 STOP
2@Q LET q=0
SiG FOR fal tO SS: CLs: -- CIRCLE
126,85,8@: CIRCLE 125+t(973) ,34+4(
Y/3) ,863:. CIRCLE 226,858,182
S20 FOR t=8+q TO 954+q STEP 5
S30 LET a=trSQ+PI
S40 LET sx =126+7945IN 24
SS0 LET 2y=854+794+C05 a
zo" PLOT 126,85: DRAW sx-126,<sy
-Oo
S70 NEXT t
S80 LET q=q41
9999 GO Ta 118
INT C€¢(L+1)/7) THEN LPRINT " "5 (1 space)
Now, you can design your own
It even comes with 4 fonts to
get you started. Plus, it can
make sprites for use with the
Advanced Video Modes. One
joystick required.
$2000 US $2500 Can
“
<O
O95
The FootePrint
Printer Interface
e for Centronics parallel printers
Now at last...
® works in both 2068 and Spectrum mode
@ compatible with OS-64 & Spectrum emulators
e EPROM socket and on/off switch on board
© works with both Tasman and Aerco driver software
e plugs into cartridge dock—door completely
closes with cable running back under computer
e frees up rear edge connector allowing other
peripherals to be used; less chance of a crash
| © print driver software for LPRINT, LLIST, and
COPY included for 2068 and Spectrum modes
FootePrint Interface w/software & cable .$45°°
FootePrint with OS-64 option included ..$65°°
Bare board & instructions only .......... $1500
Cable only for use with bare board ....... $1500
All prices are pre-paid and include shipping charges.
FOOTE <%, SOFTWARE
P.O. Box 14655 — Gainesville, FL 32604
904/462-1086 (6 pm -9 pm EDT)
Character Font Generator | Advanced Video Modes
The most complete package for
utilizing all of the T/S 2068's
enhanced screen displays to their
fullest. It provides access to 32,
64, and even 8O columns, plus
dual screen and extended colour
modes. Updates are available
jUDGs and character sets withj
this great programmers tool.
$1500 US $2000 Can
Send cheque or money order for $1.50 US/Can. t
. .to receive our catalogue c
Demonstration Tape V3.0 plus bonus programs. - ite ie
postage & handling charges on all our orders!
Beauer Computer Products
, 756 Fleming Avenue, Winnipeg, Manitoba, R8K IV5
The best DAM software around?’
nates a 6 0.8.6.6. 6°) 0-0 69:0, 00-8 6.9% *
a ae ae a ie ae ee PP ae he be ht ae Bee
: IF YOU HAVE NOT ALREADY ORDERED YOUR COPY
: WE KNOW THAT YOU WILL FIND THINGS IN IT THAT YOU MAY NOT
for just $800 Can/US.
And remember, we still pay the
Pe a ee
SP Pg eae i I PCr ee re ae tr ne TK Re a
Re MN ae ae Sh re et Se i ee
ae Me aT ae St a St Sa a SO
A Ar te I NO a er
ste 60 6 6 60:6 6.0: 6 2 6 0,8 20 60 6 0 88
a ht ae a a a ea ae he he
oceteleleseteteleletessetereteresereteserecestetanstereterensteresetessasmstessstarsteretetetetereterenetenstersseaemsereestaratetetetereterenetensesnenenserss
oreleceatateteterecocerenssmstatenetatareteteteteteneretererserseatamstatenetatetetetetetetererecereeceestasetatanetatetetetetereteretecereesseste®
PF rt et Ie Be ee A Ie OI a Per he
eooeveoene
BP we ee
C8000 0.4 5,8, 958 8 ata re 6 0-8 0.0.0.9. 9.920. 9.0.0.6, 0 580° es es0 608.
wsestatatetecocecererestacatetstatatetensteotetaterersseneressecceststatatatetetatataterececeserencesseststatatetststeteteteteretererererestss
ee a a ae a He Bt ee ee eae he ee
2 2S 8S 80 6 8D 0-06-6082 2
eeoceeveees
SF el IE ON OS Ee
satetoteteterorecessertrcteatatatateteteteratarerere ee ere sree 0.0.9.0. 7tatataerarerere sees eee eee #6,
Be KP A A el be i ee et ear ted Be
OO ns ee 66 8 eS OOS Oe Oe
HAFPFY NEW YEAR!
| FROM
RMG ENTERPRISES
peeeasStSFELECCSESELSSSSIS TESS SSS 2 8
REMIND YOU THAT WE HEWE. A BRAND NEW 40H PAGE. @-1/2"x11"
CATALOG JUST WAITING FOR YOU TO BROWSE THROUGH! 3
HURRY AND DO SO!
HAVE EVEN KNOWN EXISTED! THINGS THAT YOU NEED\ ;
WE NOW STOCK OVER 550 DIFFERENT ITEMS THAT ARE USABLE
s DIRECTLY OR INDIRECTLY WITH THE SINCLAIR KINE OF COMPUTERS. ;
SEND FOR YOURS TODAY! °
{JUST SEND A CHECK OR MONEY ORDER FOR $3.00 70 THE ADDRESS :
BELOW, AND WE WILL RUSH YOUR BIG NEW CATALOG TO YOU!
= INSIDE YOU WILL FIND A LOT OF HARDWARE AND SOFTWARE THAT
MAY SUIT YOUR NEEDS. AND YOU WILL ALSO FIND A COUF
GOOD FOR $3 OFF ON YOUR FIRST ORDER FROM THE cATALOG!
THAT WAY YOU DON’T LOSE A THING!
DETAILS ARE ALSO INCLUDED ON HOW TO KEEP THIS CATALOG
UP-TO-DATE AND CURRENT. AS IT IS THE LAST FULL CATALOG
RMG WILL EVER PUBLISH, THIS WILL BE IMPORTANT TO YOU!
SEND TO:
RMG ENTERPRISES
1419 1/2 7TH STREET
“9-0 0 0 0 00.0 0 8 0 0.8 0 0 6 6 6 0 00 8 00 088 85% o eo 0 0 0 0 0 0 0 8.
statateteteteTetoTeTetoTeroveTe"070702028.8,8,0,8,8,08,8,8,8%5ttetetaterorererarerererereretcesetstatatat ene
FN eae a Ie OD Pe at
-eeoe
oreo 00 60 0 6 0 0 00 0 0 0 6 6 0 8.0.0.8 .%6°
Pa at Be Be Be rt he he
odetoleleconetecetstetetasceresecerssecesssereseteteselecetelasestarateteretererescsessetanstatetetasterereterenssersrsasrsetarsteretetetsteterenetenstensscaes!
sSelesececeataratetateteteresoneresesessessestaretetareteteteteresecereseerseecesssetaratereneteretetereseeeneseessseesssteranetareteteteteterstereserensneasster
Pr it he ik Se le ar hee Oe
eseoeoeed
Oe at ht eo ee a he he
at ae ie he Oe a et te eB ee ee
ete ets a 6 0.0 6 6 6.0.0 0 0 0.6 0 6 9 6.8
see
ee ee I ee Be ad oe
ae Be ra ae a
orstecesentaretetatetotereseneresssencessteraretareneteretecerenenereseneneeeartecanetaretetereteretetereseeenencammsatarsteratetereteteretereneserensesnsstats!
PM RR aS a Se BK ae he Oe
Se ie at ot i aaa he BB a a a ae ea
eR Oe a et ee ee
JVew and Upcoming in 1987
By Tim Woods anc
INTRODUCTION: You've seen those glaring tabloids on
the news rack at your local grocery store...you know,
the ones boasting new trends and predictions for the new
year...all hyphenated in bold print and splashed accross
their front page. While we won't comment on the accuracy
or validity of these publications (after all, how do we
know that Sylvester Stallone won't be visited by the
ghost of Elvis?!?)...instead we offer our version of the
same concept, but based more on "fact" and gleaned from
interviews, telephone conversations and press’ releases.
We are going to take a "sneak preview" of what we
think will be the most important events and trends’ for
our Timex Sinclair computing community in 1987. Some of
the issues we will address along the way will be--"what
new hardware and software is being developed?"--"will
Uncle Clive's computers survive in the U.S., now three
years after Timex dropped out of the market?"--—"what are
some new ways I can put my computer to work for me?"
and much more.
So, hold on to your hat, as we start our whirlwind
tour of. "what.'s new and upcoming in 1987"...and as our
tabloid counterparts might say..."a look at what's hot,
and what's not!"
Indianapolis:
The Place To Be In May
If you read the reports about the Mid-West Timex
Sinclair Computerfest which was held in Cincinnati, Ohio
last year...you may have wished that you had been there.
Well, now you have a second chance. It's time to start
saving your nickels, dimes, and "cash in" on your pop
bottles. That's right, the 2nd Annual Mid-West Timex
Sinclair Computerfest will be held in Indianapolis,
Indiana on May 2nd and 3rd...and plans are going "full
steam ahead". If you can fly, drive, ride the bus, ride
the train, walk (?)...no matter what mode of trans-
portation you use...you might not want to miss’ perhaps
the single most important event for Sinclair enthusiasts
in North America. In fact, the only event of it's kind
held in the U.S. [there have only been two other such
conventions: Boston in 1983 and Cincinnati in 1986].
The 1987 Mid-West Timex Sinclair Computerfest will
be located at the Holiday Inn North in Indianapolis
(just off North I-465 at 3850 Depauw Blvd.). This is a
"Holi-dome", and one of the top hotels in the Holiday
Inn chain. The exhibition area is twice as large as last
year, with over 5,000 square feet of display space plus
areas for seminars, conferences and a hospitality suite.
This year's executive director of the Computerfest
is Paul Holmgren, who not only is a fan of Sinclair
computers, but also has ties to the city commerce
department of Indianapolis. Paul will be working closely
with Computerfest founder and promoter, Frank Davis.
Other Computerfest committe members are representatives
of TS user groups from Indiana and Ohio.
The list of dealers that have indicated they will
be attending the show at this early date has been im-
pressive. These include: Sharp's Inc., C.W. Associates,
Knighted Computers, Thomas B. Woods and Syncware News,
Variety Sales, Zebra Systems Inc., Markel Enterprises,
Time Designs Magazine Company, and The WJDJUP Company;
along with several user groups from Indiana, Ohio, New
York, Maryland, and Wisconsin. As we went to press, more
dealers (including some of the largest TS mail order
houses) expressed interest in the show.
in
oD. Muistcihni meson
MIDWEST
COMPUTER
FEST
Tickets for the TS Computerfest can be purchased
in advance for a discount before March 30 ($4 for an
individual; $7 for the family plan)...or at the door for
$6/individual or $9/family plan. The Computerfest will
be open on Saturday May 2nd from 9-6pm and on Sunday May
3rd from 9-5pm. Accomodations can be obtained at the
"headquarters" hotel for a special rate by mentioning
the TS Computerfest (phone number is 317-872-9790); or
lodging is also available at six other hotels in the
immediate area. Transportation to and from the Inter-
national Airport is being provided by the Holiday Inn,
for those staying at the headquarters hotel.
Some of the activities planned for the Computerfest
include workshops by Timex Sinclair "experts", and most
of the workshops will be repeated twice, to allow for a
more convenient schedule for all attendees. There will
be a swap meet for used equipment or programs; and like
last year's show, valuable door prizes will be given
away (some lucky fellow went home with a complete OL
system including computer, RGB monitor and printer!). On
Friday evening at 7:00pm on May lst, will be a _ banquet
for all exhibitors participating in the show.
Every Timex and Sinclair computer will be featured
in one way or another. The March/April '87 issue of Time
Designs will carry more information on the Mid-West TS
Computerfest as well as an updated exhibitor listing and
schedule of events.
For more information on the show, lodging, tickets,
and display booth reservations...write or call: Paul
Holmgren, 5231 Wilton Wood Ct., Indianapolis, IN 46254,
tel. (317) 291-6002; or Frank Davis, 513 E. Main St.,
Peru, IN 46970, tel. (317) 473-8030.
RAM, RAM and more RAM
Running out of places to store your data with 16k
or 48k RAM? Good news for you on the horizon. ..and most
likely, the most popular hardware ae oes this coming
year...memory boards.
* Larry Kenny of Larken Picttccniss (RR#2 Navan,
Ontario, Canada K4B 1H9) is currently developing a 256k
RAMdisk for the TS2068.
* Another company (who asked to remain anonomous)
is also working on a 256k RAM expansion board for the
2068. The operating system software is reported to be
Similar to Timex's proposed plans for the 2068, and will
utilize commands found on the top row’ of keys (OPEN#,
MOVE, CAT, ect.). The board will also be expandable for
additional RAM.
* Thomas B. Woods will be offering a RAM board in
kit form that operates in the cartridge slot of the
2068. The kit and board is designed by Tom Bent, and
features user expandable RAM from 8k to 120k, with
battery back-up. The kit is similar to a board that is
being marketed by The E. Arthur Brown Company. For more
information and prices, write to: PO Box 64, Jefferson,
NH 03583.
Continued Next Page.
* In light of Wes Brzozowski's
"The Mystery Of The Missing 253" on bank-switching
memory for the TS2068 (to be concluded next issue),
several bank-switching "spin-offs" are in the works, in-
cluding some future hardware projects recently submitted
to Time Designs. We think research and development in
bank-switched RAM will produce some valuable "add-ons"
later this year.
* Bill Pederson of The WJDJUP Company reported that
he will be conducting live demonstrations of his bank-
Switching boards at the upcoming Mid-West TS Computer-
fest in Indianapolis (for further details on peripherals
and software write to: 1120 Merrifield S.E., Grand
Rapids, MI 49507).
* After Tim Stoddard completed the two-part article
on upgrading the TS1016 RAM Pack to 64k, in TDM (see
the Sept/Oct '86 and Nov/Dec '86 issues); he came up
with an excellent INTERNAL 64k upgrade for the TS1000
and ZX81. It's a three chip modification, that makes a
neat and tidy installation, with a substantial boost in
"power" for all TS/ZX hackers. Complete plans will
appear in the May/June '87 issue of Time Designs.
five-part article
TS Telecommunications
Telecommunications is not necessarily a new field
for TS users...as the Byte Back Modem cropped up _ early
on in hey-days of the ZX81, then followed by the West-
ridge TS2050 modem, the original Timex modem. But recent
developments in this area, are making telecommunications
a growing support base for Timex Sinclair owners.
A new booklet tells it all. It's called "The Guide
To T/S Telecommunications", written by Pete Fischer and
Steve Ishii. Over 50 pages of information offer a
tutorial on "how to get started", necessary equipment
and software, Timex Sinclair BBS phone numbers and _ info
about each one, and even sections for the QL. The
booklet is available for $2.00 postage paid from Pete
Fischer (PO Box 2002, Tempe, AZ 85281). There is also a
DELUXE edition which will be available shortly in an
expanded format for $5.00 postage paid. Anyone remotely
interested in this area should get a copy...it could
even save you money in the long run with all of the
Special tips, and helpful information it provides.
Many users have discovered the Timex/Sinclair - area
offered by the huge telecomputing information service,
CompuServe. Several TS dealers have subscription packets
for sale, or check at your local computer store. Price
for this "starter package" is around $30. The Timex
Sinclair (and QL) area can be found in the Computer Club
Forum sponsored by Family Computing Magazine. Type GO
CLUB at the user prompt, and your there. You will find
lots of messages, programs and articles to "download", a
live conference on Wendsday nights...all just for TS
users...and hosted by SYSOP's Patrick Spera and Dave
Rothman.
Front Cover of "The Guide To
T/S Telecommunications" by
Pete Fischer and Steve Ishii
(the RLE graphic picture was
downloaded from CompuServe).
It wasn't until just recently, that software to
allow setting up ones own home BBS using a TS2068 became
available. CASBOARD 2068 is available from The E. Arthur
Brown Company (3404 Pawnee Dr., Alexandria, MN 56308)
for $19.95 + $1.95 for postage. This program written by
Kurt Casby is the most sophisticated BBS for the 2068
yet (all machine code). Another program that is based on
the original public domain software, "Tiny-board" by
Randy and Lucy Gordon, is also available and used as the
BBS for the Indiana Sinclair Timex Users Group BBS.
Casboard and "Tiny-Board" BBS are cropping up all
over the place. In the final chapter of Pete Fischer's
guide, he predicts that these new boards will have "a
major impact" on TS telecommunications.
SINCLAIR QL
The steady stream of business programs, graphic
design and CAD programs, utilities (including front-end
type software), and game programs, is keeping the QL
"alive and well", both in Europe and on a small _ scale
here in the states. There is enough action (and ad-
vertising) to keep a genuine "slick" monthly magazine
in business--QL WORLD (79-80 Petty France, London,
England SW1H 9ED...subscription rate is 45 Brit. pounds
for one year...but several TS dealers have them for a
discount).
The hottest thing going for the QL, are the second-
generation "clone" machines. The 640k CST THOR is
available now, complete with 3.5" floppy drive, and IBM
style keyboard and packaging. (For further information,
write to: Eidersoft, The Office, Hall Farm, North Ocken-
don, Upminster, Essex, U.K., RM14 3QH...there is even a
trade-in offer for your old QL). The newest clone should
be out by the time you read this...the Sandy FUTURA.
The Futura incorporates several new enhancements like a
real 68000 MPU and Tony Tebby's improved QDOS_ system.
(For details, write to: Sandy U.K., Unit 33, Murdoch
Road, Bedford, England MK41 7PQ).
While not every QL owner will be upgrading to the
newer machine (considering the {600+ price tag), the
real value lies in the increase of the over-all QL user
base due to clone sales.
A new area for the QL is Desk-Top Publishing with
the release of the new program FRONT PAGE. The _ program
isn't on par with PAGEMAKER for the Apple Mac, but Front
Page's distributor, GAP Software, promises updates to be
available soon. Front Page may spawn other Desk-Top
programs. Several U.S. dealers have Front Page in’ stock
now, including Variety Sales, C.W. Associates, Curry
Computer, and RMG Enterprises.
A lump comes to ones throat, and a warm feeling. to
the heart, to see two American QL programs recieve
worthy recognition in the European computer market.
They are WAR IN THE EAST by Sharp's Inc., and CONCEPT
3D by Tesseract Software (see July/Aug.'86 and Sept/Oct
'86 issues of TDM). Both have been rated favorably in
British magazines, and are being distributed by European
dealers. Perhaps other American-made programs and hard-
ware may get some notice.
Two soon-to-be-released QL books are coming from
the northwest. ARCHIVE MASTER, published by Executive
Workshop, will be distributed by RMG Enterprises (1419
1/2 7th Street, Oregon City, OR 97045). The book offers
an explanation of Psion's Archive database, and includes
several routines and procedures to use the program for
serious business applications (inventory, accounts, and
mail list management). Archive Master has been "field
tested" and comes in a three-ring binder.
Time Designs QL columnist, Mike de Sosa, is the
author of TAKING THE QUANTUM LEAP, a 260 page book for
both beginners and the advanced QL user. The book will
feature much information "missing" from the QL Users
Guide, as well as program listings, explanation and en-
hancements of the bundled software. Over two years in
the making! For further information, write to : TDM,
29722 Hult Rd., Colton, OR 97017.
ZEBRA/TIMEX DISK SUPPORT GROUP
First the bad news. Zebra Systems Inc., announced
publicly that they have completely sold out of the Zebra
FDD Disk Drive System for the TS2068, and that they will
no longer carry them.
Now for the good news. A new. special interest group
is forming to provide support and a newsletter dedicated
to users of this disk system. The Zebra FDD is actually
a system that is manufactured in a Timex factory in
Portugal. These units are marketed in Europe for the
Sinclair Spectrum and in Portugal for the T1TC2068 (a
later version of the U.S. TS2068). An early version of
the FDD, consisted of three separate components (power
supply, controller, and drive). It's disk operating
system (TOS) resided in 16k RAM (included), and all
three pieces were painted silver like the 2068. A later
version, the FDD-3000, contained dual-drives, built-in
64k RAM, CP/M compatibility, all in one compact package,
and painted black. Both models use the Hitachi and
Amstrad-type 3" diskettes.
Se oe
Zebra/Timex of Portugal FDD
Simultaneously, in addition the programs
The new FDD support group's newsletter is called
T.O.P.S. (for "Timex Of Portugal Systems") and is for
both earlier models of the disk system, and the current
FDD-3000. The newsletter's editor is Dave Franson of
Milwaukee, Wisconsin. Articles will be written by Dave,
Kurt Casby, and many others. Subjects will cover the
CP/M operating system, software conversions to disk, use
of the RS232 ports, and other related topics. The group
is also open to any article or’ program contributions,
and any comments or suggestions.
If you are a Zebra/Timex FDD user, you can contact
the group's secretary, John Bylander (1203 N. Owens St.
#308, Stillwater, MN 55082) for more details.
Note: The Aerco FD-68 Disc Drive System for the
TS2068 has a support group and newsletter also. Users of
the FD-68 can contact: Dave Hill, PO Box 310-A, Holland,
MI 49423, for further information.
More...
Here's a Whitman's Sampler of some more TS stuff to
look for in 1987:
* NOVA 1000 is a new program from Weymil Corp. (PO
Box 5904, Bellingham, WA 98227), which performs Multi-
Tasking on a TS1000! You can operate multiple programs
features a
real-time (on screen) clock, auto-repeat for all keys,
and program line tracing. All for $20 (plus $2 postage).
* Several GEOS type programs are currently being
developed for the TS2068 (GEOS, the front end, house-
keeping utility, is currently the best-selling program
for Commodore computers).
* An extensive project of de-bugging the TS2068 ROM
will be completed soon by Bob Orrfelt of Redwood City,
California. A new EPROM will be available to replace the
old ROM, and will feature some new routines, including
auto line-renumbering.
* A MIDI interface (the standard for electronic
musical instruments) is being developed for the TS2068
by Larken Electronics
We feel that 1987 will be a good year for Timex
Sinclair users. Some of our TS developers also have and
use other PC brands. Many of the trends and new products
in the computer industry will continue to be adapted
(and translated) by these developers for our own micro-
computers. Thanks to Uncle Clive, he engineered a _ very
flexible design that can grow and expand for years to
come.
Speaking of Sir Clive, he also has some new things
up his sleeve to watch for...including Mega-RAM on wafer
and the PANDORA portable computer. The beat goes on.
(RR#2 Navan, Ontario, Canada
f
t
ARO CK SMART TEST TS-LlaOoGS | KKK K*K
KKK A complete Administrative package: Word processor, Data base
manager, Mail List, Full text editor, Automatic printer, Automatic
formatter. Perfect letters or manuscripts in multiple copies. Mail List
for personal form letters. Repeat print 5 page reports. Desk top
publishing. Friendly, Menu Driven, no command keys to learn, Crash Proof.
KKX
Use with ALL Parallel Interfaces, Printers.
Second program included
for use with OS-64 Cart (64 Col Screen).
BEE Disk Versions for Aerco FO and Oliger V2-12.
KKXK Satisfaction Guarantee.
Stratford Ave, Panama City,
Cassette or Disk Drive,
$39.95 Check or M/O, Gulf Micro, 1317
FL 32404,
Inquiries welcome.
Specify type interface, for
= SS feet Ei!
a 2 ee esa DESKTOP _PUELTSHING ee
i= =) SSS eH i
-E e =o 6 FOR THE SINCLAIR GL. LISHIKG OX TRE SIRCLAIR OL |
———— = BI = =i = Fo | oiATi Fe iE Fact ¥ PETES fy 86!)
Ss Bee fa = | RUS OR UNEXPANDED | GL, & SUPPORTS)
= Se Sse Sj | ie reining ETt. es
iVHLLHELE hu#e! WG 8 se
< e = i
Se es [Se cae ig Han Ter 2A re
a) ar! ie ae! Fras Use it E 371 & a,"
| oe oe. es 7 salen ecime dt oa
ferme tee es al oy iE LARA CAPER : FP eal Fs
| HAS Page SeUTa) GSU TEGAN Tie
= Ss se EI Ld - r
= =a 2 bale | &% é G5 P 3
ie ia Mithiass:e 82 TF 2 sw :
coy co
i F4, pPPETEY Fe Te 22's ; anaiz £5 an 22
e $f $2i25= : + ats : mae SSeS“ FasL ¢
= me 333 we otters se:
¥ 16 Typefaces and Sizes Ruailabla! ee Sogo tS SSeS | ee
¥ 64 User Eraphics Included! —— = iene
* flix Text & Graphics OH SCREEN easity! = << Ss ot E
a . 3 . °. Smal. Baan ene =. aon 7 — te ; <2 oo s s ie
¥ Freehand Gravina Node! : ——SEE_ SS. SS
¥ save/Load Screens or Parts of Screens! | 5 See == SS SS Se Sein &
ou con even aca screens from OTHER ee — === ep hee = =
prograzs into your page! If you have aq i 2 Se==eeee ae eee a:
diattize weit! mn add nhatacl := See Ah cagtn,, SS ece =i i E
CSULIZEF s YOU Can Cog reieivs. i_S8_ =s cree Fo actif A = : ff
: ee aes Seo Ss tFesu Serre di.
4 Up to 133 colugns/S8 tines on a page S| SS SSS Es re
ESS oe Re ' 4 ® : =. a SS ee EE SEE ; z
(prints en full & 1/2" x 11" paper) = See = ee pe esi, f
i Herdug -s Pasnipesenie: i i See 2, SSS SSS ee 5
tut oVvVGare Reg iPesenis: i? = SaaS SS Se Se o + oe Fi a
% |) == Ses, SS zs - £
Standard @L vith 12K RAH CSS ime =. & i eee | C e
cnen — 7h fs hss == —— eee ae ST eee E
EPSON compatible printer With OGUBLE - J== Se 1 ) ————
mire ne = cs —SSSs DE ee
DENSITY graphics to print full utdth.. Beate = : = Eo SS
if you have only single density you can = eens
print enly the first 488 pixels. SS ad =
ibGve SCPeER Leaded inte FESET aE
% HQ EXTRA MENGRY KEEQED! Vill vork vith
extra RHA, though. Con also use DISKS or
even RAHDISKS! Can easily be transferred
to disk! (Gisk GREATLY speeds up the
program!)
Vhole Program is Henu Driven!
Ask for Sample Sheet utth More Info.
after being created with GL PEIRIRE!!
You can do it teo.. EASILY!
Hy TOUTE
fir & ty un, ARTRGRK Fi
Bore
T REASGHRGLE RATES. ALSO PRINTER
RIBBIRS f& FOR SALE. GANT A BOOK PUT
TOGETHER? BUSTHESS CARDS? RING
Bhd REK FUR DETAILS, @1-352-3452
bP a4
fa IHG,
SENG GRBERS TG: YARIETY SALES
325. JERSEY $1., #28 ae
ELIZABETH, HJ 07202 ‘TEL: 281-S27-G525
et 3+
TOMAHAWK
TOMAHAWK is a real-time flight
simulation based upon the US ARMY AH-64A
TS 2068 |
ONLY THE BRAVEST FLY...
FEATURES: Spectacular 3D real
world display *Pally aerobatic (within
APACHE Advanced Atack Helicopter - the
meanest, deadliest combat helicopter
ever to rale the skies! [ts specialized
job is to hunt tanks and destroy
anything that gets in its way. fhe
Apache was built specifically to fight
aad survive, night and day, in the thick
of the battlefield.
Flying a real helicopter is a demanding
task, requiring training and practice -
particularly ground attack. TOMAHAWK
gives you this challenge. Climb into
your cockpit and prepart for
take-off....
add 823
shipmoing.
limits of the real helicopter) *Ground
attack & air-to-air interception *Over
7000 ground features *Day/Hight vision
systems *Cloudy coaditions, crosswinds ¢
turbelence *Doppler’ navigation & target
tracking system ‘Laser guided missiles,
plus rockets & 30am chain gun Selection
of training and combat missions
*Impressive sound effects *Pilot ratings
- Trainee to Ace ‘Uses BOTH TS2068
joystick ports!
in.) $15.95!
Pattee
Send check or money order to:
325 W.
.. hank Youl}
Variety Sales
Jersey St., #2D
Elizabeth, WJ 07202
PHONE: 201-527-0535
ie
MORE “COLORS”
Anyone who has a QL and a monitor that will display
the mode 4 (Fl) screen might be wishing that there was
more than four colors; i.e., white black, green and red.
If one experiments with the PAPER command he finds that
it can provide a stipple function for "blending" colors.
Alternating red and white pixels yields a textured pink
screen, green and red gives brown and so on.
This short program lets the user pick one of the
four pixel patern alternatives then displays labeled
overlapping windows of sixteen new "colors". An input
window in the lower left allows choices for testing any
window or changing the pattern. A small window in the
upper right lists the colors and number values and a
larger window tests the chosen "color" by printing over
it with letters of different sizes and colors. This will
reveal that some new pixel-produced "colors" are not
Suited to certain types of print, while others look just
fine.
Refering to the User's Manual while using the COLOR
EDITOR will be of value. By altering the window para-
meters in lines 10, 40, 80, 100 and 200, they offset
values in line 50 (and a few other minor changes)...this
could also serve as a color editor for mode 8.
IN QL*°S MODE 4
By Paul Ring ham
5 REMark
19
95
190
195
119
115
120
125
130
14
152
155
16@
172
175
182
185
199
195
200
MODE 4 COLOR EDITOR
INK 7: PAPER @:a=2:2=2:u=2:i=@: WINDOW 512,256,9,@
MODE 4:CLS:CSIZE @,@:AT @, 25
INPUT "STIPPLE @,1,2,or 3? ";s: INK @:CLS: b=@: £=32
FOR d=0 TO 6 STEP 2.
FOR c=@ TO 6 STEP 2
WINDOW 118,69,f,b:PAPER c,d, S: CLS; PRINT" —
FArES TAP RiInt “PAPER “2035s pds eS
b=b+9: f=f+21: END FOR c: END FOR d
AT 5,5:PRINT "Stipple: ";s:CSIZE 2,@
AT 2,2:PRINT “MODE 4":AT 3,1:PRINT “COLORS’ "
WINDOW 77, 32,265,0:PAPER 6:CLS
CSIZE @,@: FOR c=@ TO 6 STEP 2
PAPER 6:PRINT " ink ey rea
PAPER c:PRINT " >NEXT c: GO SUB 10@:GO TO 155
WINDOW 97,87,350,@:PAPER a,z,u:INK @:CLS:PRINT
CSIZE 2,@:PRINT “PA";:INK 6:PRINT "“TE";:INK 4
PRINS “RN”; 2INn.2: PRINT ."S:": FOR £-06-T0 3
Meo SI eet vee”... "G0 162130
TS $s7 i y6=": “2 G0 TO 138
If Ges vss".
CSIZE @,@:PRINT: INK i:PRINT " Stipple ";
INK @:PRINT t;"= “;:PAPER 4:PRINT y$:PAPER a,z,u
i1=i+2:INK i:END FOR t:i=@:RETurn
GO SUB 20@:CLS:AT 1,1:INPUT "PAPER
ERPUT tee a te er ta CL
AT 1, i: PRINT “-PAPER at “ses; "207360: SUB ite
GO SUB 20@:AT 2,2:INPUT “new color? (y/n)"in$
IF ng="5" OR: ng=""*-60-TO 155
GO SUB 200:AT 2,2:INPUT “new stipple? (y/n)"in$
i? SO="y". OR. ne="*: RUN
CLS:AT 2,3:PRINT “program ended. ":STOP
WINDOW 132,32, 30,128:PAPER 6:INK @:RETurn
— SAT 2,9
QL GAS GUIDE
Ey Gale Hemnmslee
10 REMark **¥** KE KKK KKK KK KKK KKK KKK KKK KKK KK KKK KK KKK KKK KK KK KKK KKK KKK KKK KEKE
15 REMark **¥* KKK KK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KEK KEKE KK KKK KKK KEKE
206 REMark *
25 REMark
30 REMark
35 REMark
4@ REMark
45 REMark
50 REMark
55 REMark *
H M HM HM
GALE HENSLEE
OCTOBER,
PROGRAM TO DETERMINE WHETHER YOU SHOULD SPEND THE EXTRA
MONEY TO PURCHASE PREMIUM GASOLINE INSTEAD OF REGULAR.
IT ASSUMES THAT YOUR CAR RUNS FINE ON EITHER GRADE OF GAS
AND DOES NOT KNOCK OR PING ON THE LOWER GRADE.
19386
x
* * M&M * KH
AMARILLO, TX
x
60 REMark *** KKK KKK KKK KK KKK KK KKK KKK KKK KK KK KKK KKK KKK KKK KKK KK KEKE KKKEKEKKK
65 REMark - **x*¥ XK XK KK KKK KKK KK KK KKK KK KK KE KK KK KKK KKK KKK KKK KKK KEK KKK KK KKKKEKKE
166 OPEN #1, con
1106 WINDOW #1, 512, 256, 6, @:PAPER 6: INK
126 BORDER 10, 4
136 CLS #1
146 AT 5,5:PRINT “Enter price of REGULAR
156 AT 6,5:PRINT “Enter price of PREMIUM
1
160 AT 8, 5:PRINT “Enter miles per gallon you
170 AT 9,5:PRINT' “Enter miles per gallon you
186 di=pi/mi
1990 d2=p2/m2
200 AT 11,5:PRINT “Cost per mile with
210 AT 12,5:PRINT “Cost per mile with
220 IF d2<di THEN GO TO 256
230 AT 14,5:PRINT “Your best gasoline
248 GO TO 260
REGULAR is
PREMIUM is
choice
Cd. cc)
Cd. cc)
“:AT 5,45:INPUT pi ;
“:AT 6, 45:INPUT p2 : .
get with REGULAR”:AT 8, 50: INPUT .m1
get with PREMIUM”:AT 9,50: INPUT m2
“;round (d1);”" cents. ”
“sround (d2);” cents. ”
is REGULAR”
250 AT 15,5:PRINT “Your best gasoline choice is PREMIUM” ,
260 AT 17,5:PRINT “AGAIN? (Y/N) ”:AT 17, 25:LET if = INKEYS:IF if = “” THEN GO TO
260
276 IF i$="“y” THEN GO TO 138:GO TO 330
288 DEFine FuNction round (Ca)
290 LOCal answer
300 answer = INT (a*1000)/10
310 RETurn answer
320 END DEFine
336 OPEN #1, scr:WINDOW #1, 258, 200, @,@:PAPER #1, 3: INK #1,6:BORDER #1, 2,@,7:CLS #1
346 OPEN #2, scr:WINDOW #2, 258, 200, 254, 6:PAPER #2, 6: INK #2, 3:BORDER #2, 2,0, 7:CLS
3586 WINDOW #0, 512, 57, 0, 199:PAPER #0, 0: INK#0,5:CLS #0
3608 STOP
Wo
Exploring The Mysterious QL
JOS: Adding Your Own Commands to Super BASIC.
By Toe Newman
If you're like me and don't know machine language,
I'll bet there are times when you really wished you did.
You probably would like to make all those fancy appli-
cation programs with neat advanced features, etcetera.
With the power of the QL, you now have an excuse to hold
off on learning MC a little longer...Procedures.
Procedures aren't as mysterious as they may at
first seem. In fact, they are rather fascinating, and
really deserve some attention, even by novice SuperBASIC
programmers. Some pretty neat things can be accomplished
with them--things that can only be done in machine code
on other computers. Here are a few of the things I have
discovered about procedures:
l. Procedures typed in as program lines can be
called WITHOUT even first typing RUN!
2. Procedures can be called from within other
Procedures.
3. Procedure names can be almost anything,
CLUDING SuperBASIC Keywords!
4. Procedures act just like additional commands
added to the QL operating system!
You can discover these things yourself by experi-
menting and reading the QL Users Guide. The BEST way to
learn Procedure structure (and anything else on a micro-
computer) is by experimenting. You can't blow up the
QL by typing in the wrong program, although you can get
some pretty strange results!
In this article, I will present a practical use of
Procedures involving the above mentioned items. I have
created a sample program I call JOS (pronounced JOE's).
This program when used will appear to have added and re-
fined some commands to SuperBASIC. To use it, type it in
and save it as BOOT. Then put the disk/cart. that con-
tains this program into drive 1 whenever you turn on
your QL, so it will load and run automatically. You can
even.make this the BOOT program on all your disks/carts.
If you have I.C.E. you must hold down ALT when you
choose monitor (Fl) to load the program.
When it first comes on, a screen will say JOS
ACTIVE, and a prompt will be waiting for the year.
Either continue entering the time and date or hit ENTER
at the year prompt. The computer will "jingle" and will
instruct you to hit "i", if you wish to go into I.C.E.,
or b if you want Basic. If you don't have I.C.E., you
can delete these program lines.
Once you are in Basic, the only way to tell that
JOS is there, is by typing LIST. JOS is from line 20000
on. I have placed it this high so it (hopefully) won't
conflict with any other Basic programs. Remember, you
can change line numbers with the RENUM command (page 47,
Keywords, QLUG). To see a list of all the extra commands
available with JOS (so far), just type-in the word
"COMMANDS". The following list will be presented:
LD S D DS CAT LPRINT DEFAULT LRUN LLIST CC L_ SIREN
Here is what each command does and how to use it:
DEFAULT chooses which drive will be the default for
the other commands which require use of a drive. Syntax
is DEFAULT "name", i.e. DEFAULT "MDV1 ". You must add
the " ". You can also specify any other type of storage
device.
LD will load a program. Syntax is LD "filename".
S will save a program. Syntax is S "filename".
D will delete a file from a storage device. Syntax
is D "filename".
DS will delete a file from a storage device, then
save the program in memory as that file. Useful for up-
dating programs. Syntax is DS "filename".
IN-
- getting an error, and the QL would crash. I was
2
CAT will give a directory of the default drive.
LPRINT will print text to the printer through
serial port 1. Syntax is LPRINT "text".
LRUN will load and run a program (actually
MERGES a program with JOS, then runs it). Syntax
LRUN "filename".
LLIST will send a listing of the program in memory
to the printer through port 1. Syntax is just LLIST.
CC will clear windows 0,1 and 2; the whole QL
default screen. Syntax is just CC.
L will list the program in memory to window #2.
Syntax is just L.
SIREN starts a siren sound. To stop it enter BEEP.
To use the commands, either type them. in using
their proper form, or use them in a new program. I _ had
attempted to incorporate a NEW command, which would
delete everything but the JOS program, but I _ kept
trying
to use DLINE TO 19000. Can anyone let me know why this
won't work, or how I can get it to work? Sometimes it
would...most of the time it wouldn't.
Play around, experiment, add your own commands. I
have included some of the more useful ones, but I'm sure
there are plenty more. Maybe you can add a routine to
change the paper, ink, and border, or change windows
around. Let me know what you come up with.
By examining this program and figuring out how it
works, you will begin to get a good understanding of the
power of Procedures. I haven't even started to exploit
the full power they have to offer.
There is one feature of Procedures I would like to
explain. While writing JOS I discovered for myself (by
accident) that strings could be added after procedure
names; I had thought only numbers could be passed into
procedures. An example of this is:
DEFine PROCedure say (xS$)
PRINT x$
END DEFine say
The proper name of this procedure is "Say". If you
had this routine running on the QL, and then typed...say
ia
is
"Hello---it worked!" and enter "hello---it worked! will
appear in window #1 (the output window, red). That is
how I made the Procedures, such as DEFAULT. DEFAULT is
the actual procedure name, and you enter a string after
it, which contains other information. You must remember
the quotes, though! Also, if JOS crashes with an error,
just try again...no harm done. i
Remember, experimenting and doing ‘is the key to
learning. Fool around, try anything. If it doesn't work,
keep trying, or else scrap it and start over! To con-
stantly resave your own altered version of JOS as you
work on it, use the DS command. It will allow you to
save your current version, while you can _ continue
altering. Remeber to save it as BOOT so it will auto.
‘load and run.
Let me know how you came along in your experi-
mentations. If you have any questions or comments, let
me know also. Joe Newman, 325 West Jersey Street #2D,
Elizabeth, NJ 07202.
DOO
JOS
29000 cciCSIZE 2,1:FRINT ”" ##* JOS ACTIVE ##*#”
20010 PRINT "Oi356 by JOE NEWMAN”
20020 CSIZE O,O:;FRINT "Enter year or ENTER to quit”’:CSIZE 3,1:INFUT "year ¢yy? ”
»year$i IF CODEC year$o<¢>0 THEN year=year$: INFUT “month”, month: INPUT “day”, day: IN
PUT "hour”’, Ari INPUT “Min.” miniyear®"19"&year SDATE year,month,day,hr,min, oO
20030 CSIZE 0,O:;BEEP 0,1,255,1300, 1
20040 drive$="flpl_”
20050 FAUSE SO':BEEP:PRINT "hit » idJce or
290060 ink#$s=INKEY$:IF ink$="" THEN GO TO
29070 IF ink$="i" THEN ICE:ELSE cc: STOP
20080 DEFine FROCedure cciCLS#0:CLS#2:CLS!:END DEFine cc
boasic”
eo ©) O Fi CQ)
20030 DEFine FROCedure
20100 DEFine PROCedure ld
20110 call#=files
20120 filé_name$=drivet&calls
20130 MERGE file_names
20140 ENO DEFine ld
20150 DEFine FROCedure
20160 drivet=driver$
20170 END DEFine default
20180 DEFine FPROCedure
20190 call$=file¢
20200
20210
20220
20230
Cfiles)
RUN ;
END DEFine LRUN
DEFine PROCedure llist
20240 OFEN #100,ser
20250 cciPRINT “READY FRINTER
20260 cc
20270 LIST #100
20230 CLOSE #100
20290 DEFine FROCedure
20300 DIR drives
20310 END DEFine cat
20320 DEFine FROCedure s
20330 call#=file$:SAVE
20340 END DEFine 5s
20350 DEFine FROCedure
20360
29370
ZOSE0O
20390
20400
20410
20420
20430
20440
20450
20460
40465
20466
290470
20450
IREN”
29490
20500
cat
Cfile$>
END DEFine lprint
DEFine PROCedure d (files)
DELETE drivet&filet
END DEFine d
DEFine FPROCedure
call#=filet
DELETE drivet&files
SAVE drives&fi les
END DEFine ds
DEFine PROCedure
cci:PRINT
ds (Cfile#)
commands
END DEFine commands
LRUN Cfi les)
drivegacalls
default (driver:
RESTORE 20480;FOR LOOPER=1 TO 12:READ
DATA sy Si LS P ah ; i 8 Os : iy Ds” - ” CAT” ; "LRPRINT” "DEFAULT" ; wT RUN” ; ga eS Be De vad Be Oe 5 ot RE ; in.
L:LIST:‘END DEFine 1
WEA
file_name$=drives&call#:MERGE file_name
(hit any key)” |FAUSE 40000
lprint (printer$)
OPEN #100,seriPRINT #100, ,printer$:CLOSE #100
"AVAILABLE COMMANDS FOR JOS”
COM$:; PRINT COM#:NEXT LOOFER
DEFine FPROCedure siren: BEEF 6,1,1300,150,1:END DEFine siren
Ql Q“uill/word Processor Tips
PART If
By Mike de Soma
I'd like to start off this article with a few tips
regarding the QL QUILL commands. I assume that you are
already familiar with the use of these commands.
The Copy command is not user-friendly. Follow the
associated screen instructions carefully or you will,
almost inevitably, lose desired material when copying.
If large segments are to be copied, Save the document
prior to doing so. The Copy command offers you two
options in a rather tricky sequence: you can copy a
passage from one location to one or more other loca-
tions, first deleting it from its former position, or
you can copy it without first deleting it. Simple
enough, but watch your step!
The Design command sequence can be used to ease
your eyes. In most cases, your QUILL document formats
should be no more than 64-columns wide. Set the "Display
width" to 64-columns for easier viewing; you may then,
like me, find that you no longer need your spectacles to
use QUILL. If you still experience eyestrain, try
alternating between green and white letters for your
main text.
1]
In using the Erase command, keying SHIFT and the
Down cursor highlights text to be*’erased a paragraph at
a time. Keying SHIFT and the Right. cursor highlights
text a word at a time. If you go too far, use the Left
and Up cursor (with or without the SHIFT key) to back
up.
Make full use of the Header and Footer commands.
Use Header to make single-line letterheads (use a
specially prepared letterhead " doc" file for multi-line
letterheads). Use Footer to include your address and
telephone number, ect., in a single-line continuation of
your letterhead at the bottom of each page. Don't forget
that there is a "default" Footer that must be canceled,
if not desired.
Don't forget to use Goto to move through your docu-
ment. This saves both time and wear and tear on your QL
keyboard.
Justify can be used as a time-saver when entering
5+ FREE MONITOR! ZG3
YES! IT’S TRUE!! Just order a QL Computer and a QL printer
from VARIETY SALES and you will get, absolutely FREE, a
Magnavox (Cor equivalent brand name) Monochrome Monitor along
with the proper cable and everything else you need to start a
small business or home computer set-up:
Sinclair QL with 90 day warranty
Magnavox ‘or equivalent) monochrome monitor
Sinclair QL Near Letter Quality Printer
Psion Quill full-feature Word Processor
Psion Archive full-feature Data Base
Psion Easel Business Graphing/Charting
Psion Abacus Electronic Spreadsheet
All cables, manuals, wallet of 4 microdrive
cartridges, power supply, ribbon for printer
i
II
|
|
vVwWwV WY Vw
And you get it all for just: $5309
Semod check or Money Order for +522
+6 cschiipping to:
VARIETY SALES
wane WEST JERSEY STRELT #=
Ett “ABE TH, mT Os Oa
FPHONE : 4? 7 tS
a
The WODSUP Cao.
Dre ents
[hit Fa eet [Oe rN
bad AL Alt th — Sat
WEF, TOURIST C yh
BANK SWITCHING IS HERE!
SE READY FOR IT.
Tourist C if Aeobhy an extended bank switching §
disaccénbler and SPY program residing in BASIC.
It USES Machine code Located abowe “COPYUP” in
i WINKJET £ lece you ute Gli the Features caf
me SOUT OLIVE TTI PRESSE ink Gear Printer,
me FICHS 35 % Mery burl universal anterrace,
m Use your TASMAN, AERC, or home brew parallel
Bp PHYVELCHL ancerrace, ; .
| (PRINT speaks fluent axtandead SS°1I, and is
the machine stack. Printing to the 2049 is not @ odece at the PREIG9 SRGPHICS didlece,
UBUaLLU d&Sirable, £0 8 UMaversal anterface is
included, When used, the appropriate kernel is #@
Loaded into the pranter buffer, 6ecause this
18 am “owerlau’ it des wok Antingene with any
Usage by other banks or peripherals.
aoe dumps the screan ©o the printer in
HOTMmAL Size or FOOM, LELIST is cupperted in
m hich Tesolution graphics using WOOPY,
WHAT Woe SEE 15S WHAT You cet!
WINK dumps Part of the screan in variabia
Length Lines ur ¢€G@ LLB choractcers per line,
Trs Sefaulr CoOnFigurakion Prints the Lower
fw SCreen Lines aS AX Wide,
Tre WIDURP Co, word Processer/data base
Ppregram TyPGLats uses WINGO co prepare ads
To nelp convince you of the Qréat features of
this progran, Séhnd us ho more than 60 butes of
anu cOdé you liké and SASE. TARk USDRUP Os. Will
return a disassembly of that code and more ante
about TOURIST CC. How’s that for bait? Tru ait.
Sol 0s 3, See reer gn eg es LS PRIS Gnd the one 0 the. tent,
i) TAL USDVUP Cao, Program: TOURIST C Program: WINKJET 2 2 .
ay 1220 Herraifaeld 5.€. Order BR: TS25PY656 FOr: TEHS8a0 WFOLIVETTI FREZ8D erancer
Hh Gratid Rapids, HI 49507 Price:$32.50 inc P&H @ order #: TYGINTFase
aa _ Price: $14.95 Plus $1.59 SaH
THT sa rr
4 ' ny SUA ASbdeiaddsdaged sadsasesssass Mase ceeay a ieitaesdater 2 ibadik tastiest ial $3?
WIDJUPEEL WINDOWS On GORILLA BANANA... Ordere#T7LINTFS86B $14.75 + $1.58 S&H
TyPaLot Ji WORD PROCESSING On PRESOG...OrderHTSIWDSJS45B $168.50 + $1.58 S&H
TyPaLot GB Ditto For GORILLA BANANA....Order#TSIWDSB86B $18.56 + $1.50 S&H
Seacossstonerets rrasy?: ' ee ON SE ee eS eee GeeD SS ED ee mee eee Oe ee ete wD Oe ete ee Oe EE ee wee ee ee ee ee te ee ee Se eS OE cee Oe ee ee ee ey es ee es
(ae Ee ee Oe awe ae oem See? ee aoe oem oe aoe ome ee me ee eo ee ee eee eee SS ee RE Be ee eee et a Se cee we cet
QL Quill
multi-line, centered headings or titles. Executive-level
correspondence is not usually right-justified; use pro-
portional spacing or "near letter quality" (High Quality
on your QL printer) typeface for this, if your printer
has such features. The justification selected applies to
the current paragraph and all following text, until you
again change justification.
Prepare short " doc" files for each of your fre-
quently used document formats so you don't have to. set-
up and format QUILL each time you wish to prepare such a
document. Include such things as letterheads; Design
settings, margin, and tab settings; Headers and Footers;
introductory paragraphs, closures, and signature blocks.
SAVE these to your program cartridge or disk and _ Load
the appropriate " doc" file when beginning a new docu-
ment. Include the title and purpose of this mini-
document and its parameters in text. Don't forget to
change the name of your document file before SAVEing it
for the first time or you will overwrite it.
Use Margins command efficiently and imaginatively.
If you set the Indent margin to the same value as_ the
Left margin and use ENTER as you would a carriage
return, you are misusing QUILL. ENTER (or the Down
cursor key) should only be used to begin a new para-
graph; otherwise, scrolling by paragraph for any purpose
will be greatly slowed. Instead, use the SPACE bar to
move the cursor to the end of a line, or, better yet,
the TABULATE key: neither of these methods initiate a
new paragraph. Remeber, too, that the Indent margin may
be set to the left of the Left margin, useful for typing
numbered paragraphs and for other purposes.
Remember that the Print command may be used to
print a hard copy of all or a portion of any QUILL
(" doc" suffix) document on any on-line medium—-a very
useful feature, if you keep a good index of just what is
on what page of certain key documents. Note that in the
Print command sequence you may call for a directory of
the data medium in the usual manner. Try this, you'll
like it.
Print may also be used to print all or part of any
QUILL document to a Microdrive or other type file. Such
a file would have the " lis" suffix (unless another
suffix, e.g., " exp" were specified) and cannot be
Merged or Imported into QUILL, not printed using the
QUILL Print sequence. Such files are useful for a number
of purposes, including "print spooling", i.e., printing
such documents without QUILL or alongside QUILL using
Special software, or printing such documents from Super-
BASIC using:
COPY MDV2_ QUILL lis TO SERI1
The "lis" and " exp" files produced using the
Print command are printed or imported in print fashion,
that is, if they are double-spaced files, they would be
printed double-spaced on your printer or on your monitor
screen.
The print-to-a-file option of the Print command
sequence may be used to print an export file (the " exp"
suffix must be appended to the filename) from any docu-
ment file on storage media. This file may then be
imported into the current QUILL document file using the
Import option of the Files command sequence. This is a
quick and excellent method of "cutting and pasting"
passages from among several QUILL documents, expecially
if the working files are loaded onto RAMdisk.
Finally, before starting to print, QUILL reads the
current printer driver (printer dat file) information
from your designated (using config | bas) program medium
(i.e., MDV1 , FLP , RAM1, ect.). This printer driver
data may be selected from among several sets of such
data from within QUILL using the Delete and Backup
options of the Files command sequence. For example,
store several printer drivers on your program medium as
printerl dat, printer2 dat, ect. Then, before printing,
decide which printer driver is to be used and delete the
current printer dat file using the Files command option:
Delete mdvl_ printer dat
1
Then copy the appropriate printer driver to printer dat
using the Files command option:
Backup mdvl_printer2 dat to mdvl _printer dat
You are now ready to print,
printer drivers is intact.
It may seem to you that the Quit command does not
always work in the same fashion. If the current QUILL
document is amended in any way, you must either Save the
document or take a positive measure to zap it before you
are permitted to Quit, otherwise, you may quit almost
direct
ly.
and your selection of
Make full use of Tabs, but do not use more than you
need as this will slow down using the TABULATE key as
your carriage return as recommended above.
The Files command options (Backup, Delete,
and Import) assume that (default) your designated data
medium is the device desired unless this
Format,
is otherwise
specified. Backup and Delete assume " _doc" file suffixes
unless otherwise specified. Import will only
files with the
these command options offer good flexibility
import
"exp" suffix. Frequently overlooked,
in file
Management, cutting and pasting documents, and selecting
alternative printer drivers.
Use of the Hyphenate command is good practice,
incredibly slow. If you have some kind of
but
"key define"
software, this is a good candidate for translation to
one or two keystrokes.
Use Hyphenate during final
editing of a manuscript to reduce overly wide gaps on
the printed line: just remain in the Hyphenate sequence
as you scroll through the entire document.
For safety's sake, always Save the current document
before attempting to Merge it with another.
minor part of another document is needed,
If only a
consider use
of the QUILL-to-QUILL export method described above.
Like Hyphenate, the Page command is a good candi-
date for translation to a single or double-keystroke. I
have found that QUILL ofter "locks up" when I attempt to
eliminate a page break and recommend that you Save the
current document to a permanent storage medium before
attempting this.
Use the Replace command to
semi-automatically
search for and correct words that you frequently mis-
Spell or to correct a word that you later find was
misspelled. Replace may also be used for many other
purposes, for example, completely deleting certain words
or punctuation marks from your document.
DRIVER NAM
PORT
BAUD RATE
PARITY
LINES/PAGE
CHARACTERS
CONTINUOUS
END OF LIN
PREAMBLE C
POSTAMBLE
EMPHASIZE
EMPHASIZE
UNDERLINE
UNDERLINE
SUBSCRIPT
SUBSCRIPT
SUPERSCRIP
SUPERSCRIP
TRANSLATE)
TRANSLATE2
TRANSLATES
TRANSLATE4
TRANSLATES
TRANSLATE6
TRANSLATE7
TRANSLATES
TRANSLATES
TRANSLATE
“s
—
E
/LINE :
FORMS:
E CODE:
ODE
CODE
ON
OFF
ON
OFF
ON
OFF
T ON
T OFF :
Oo
QL PRINTER1
SER1
9600
NONE
66
SO
YES (if using fanfold emer or NO (if
CR,LF
27,64,27,82,0
NONE
27,69
27,70
27,45,
]
27,45,0
27,83,
27,84
27,83,
27,94
1
0
96,27,32,3,35,27,82,0
"CS/P
627,412,1,14,27,71 , "SPACE
"CS/1,27,52,27,69,27,71, "SPACE
"CS/S,
"CS/E
"CS/H
"CS/Z
Figure 1.
27,72,27,70,27,53, "SPACE
»27,77,”"SPACE
"“CS/R,
"CS/B,
15,27,71, "SPACE
27,71,”"SPACE
127,120,1,”" SPACE
"CS/@Q,
27,120,0,"SPACE
+27,112,0,18,27,80,27,72, "SPACE
QL Printer Typeface Codes
not)
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
QUILL Typeface Options
There are several ways to insert additional type-
face commands in a QUILL document. Most of these require
use of the INSTALL BAS (see tthe "INFORMATION" section
of the OL User Guide) program to modify the preamble
code, the standard QUILL typeface codes, or the ten
"translate" options offered on each printer driver.
Printing is controlled by a special program called
the printer driver or PRINTER DAT file which may be
modified to work with different printers and to produce
customized results. Appropriate printer driver data for
a number of printers and your customized data is stored
in the INSTALL _ DAT file. The INSTALL , BAS program is used
to select and modify (customize) printer driver data and
to "install" your selection in the current PRINTER DAT
file. QUILL, itself, uses only the PRINTER DAT file on
the program medium which it consults’ before printing
each document.
The examples given below are for the Sinclair QL
Printer. Use your printer manual to modify the examples
shown for your printer set-up.
Figure 1 is a depiction of the printer driver in-
formation in the edit mode of INSTALL _ BAS. In this de-
piction, decimal codes are shown for the entries under
PREAMBLE CODE, ect. Select the FX-80 line and key Fl to
make a copy of it, and then F2 to edit it to be like
Figure 1. When you have entered the decimal code for a
given line, check it very carefully and then ENTER; at
this time, the decimal codes will change to alphanumeric
codes. To set in the codes for TRANSLATE2, et seq., pro-
ceed as follows:
a. Select the line for editing with the right
cursor key.
b. Type a " (using SHIFT '), then CONTROL SHIFT P
followed by a comma, then the following numbers’ each
followed by.a comma: 27,112,1,14,27,71,
c. Following the comma after the last number,
type ", a space (using the space bar), and then key
ENTER. 7
In explanation, "CS/P and the symbol it produces
Signal QUILL to send decimal codes to your QL Printer:
27,112,1 are the code for proportional spacing; 14 the
code for double-width printing; and 27,71 the code for
double-strike (darker) printing. In a QUILL document
then, keying CONTROL SHIFT P depicts the Greek letter mu
on the screen and orders the QL Printer (and many other
printers) to print the following text in double-width,
double-struck letters with proportional spacing.
CS/I directs bold, double-struck italics.
CS/S terminates italic printing.
CS/E directs Elite (12 cpi) printing.
CS/R directs double-struck Condensed (17 cpi)print.
CS/B directs bold, double-struck print.
CS/H directs High Quality printing (use the decimal
codes 27,66,4 with other printers--or check your own
printer manual).
CS/Q terminates High Quality printing (use the
decimal codes 27,66,5 with other printers--or check your
printer manual).
CS/Z terminates the following:
1) Proportional spacing
2) Elite (12 cpi) printing
3) Condensed (17 cpi) printing
-.4) Double-strike printing.
Experiment using all of these in a text document.
Become familiar with the symbols and effects each
command produces. Check which may be used in combination
(there is a priority system which precludes some). Check
your printer manual to see what else may be done, e.g.,
Mode Combinations using the QL printer. Most printers
should make use of these codes with only minor changes.
If. you have any questions, write to me c/o TIME DESIGNS.
A Promising New Product
QATS, a powerful QL utility designed to reduce the
number of keystrokes required to perform housekeeping
chores and manage other computer tasks, is pronounced
"cats" because it gets rid of "mice". QATS, for QL
Applications Traffic Supervisor, is, among other things,
an attractive alternative to such programs as I.C.E.,
with or without a mouse (though not for CHOICE, since it
does not--as yet--have a multitasking capability).
QATS is "menu-driven" (menus may be tailored to
your needs)--only two keystrokes are required to call
any of the Psion programs--and provides facilities for
the following tasks:
a. Initiating and returning from the Psion pro-
grams.
b. Initiating, managing, and returning from other
EXEC ‘able programs.
c. Sophisticated wildcard filename processing.
d. Fast file copying and deletion--en masse or
selectively.
e. Formatting media.
£f. Alphabetical media directories with file lengths
g.- Comprehensive printing package, including print
drivers and spooling.
Due to an equipment malfunction, I cannot give a fuller
description of how QATS works at this time, but I did
want to call this very promising piece of software to
your attention. QATS is available from: COPE, 3 Langham
Mansions, Earls Court Square, London, England, SW5 9UH,
U.K. QATS and its Output Control (an extension of QATS)
sell for $35 and $25, respectively and are available in
and EPROM version.
That's all for now. Next time: more on QL QUILL,
including using it with floppy disks, BEMELERs and some
exotic software.
Now Available! “THE BEST OF SUM, PART II”
Over 60 pages of program listings, reviews, hard-
ware projects, hints and tips, and articles. Covers
TS-1000, TS-2068, and QL. All are reprints from
the jast year of SUM plus a few that didn't make it
into print before now.
Articles include Building an EPROM Program-
mer, Sprites on the 2068, Adding RGB to 2068, QL
Word Processing, What's Available for TS-1000,
and much more. Does overlap the ‘Special Issues”
advertised to the right.
$6.95 postpaid
The original “THE BEST OF SUM” is now in its
2nd printing. 112 pages of articles going all the
way back to the beginning of SUM — 3 years
worth!
$11.95 eet
QL Special Issue (12/85) — $3.95 postpaid.
TS-1000 Special Issue (5/86) — £3.95 postpaid.
Everything! *20.00 postpaid
FOOTE %&, SOFTWARE P.O. Box 14655 — Gainesville, FL 32604 904/462-1086 (6 pm - 9 pm EDT)
(7)(8)(9\[x} 2068 TAX
(4)(5\(6)+) CALCULATOR
OBE
One of the most rewarding and interesting aspects
of programming is in designing accurate and meaningful
programs for business application...and our TS2068 (and
TS1000) are highly adaptable to this purpose. (Mr. Sugar
please pay attention!)
Being a retired Federal Auditor, I have always had
a profound interest in accounting and tax programs. I
currently keep several sets of books for small business
in my area and rely entirely on my 2068 to do most of
the work. During tax season for the past two years, I
have used my 2068 (and my 1000 before that), to perform
the complex calculations required in the preparation of
my Clients returns.
I have seen several tax programs that have been
produced during the past several years. I have even had
occaison to work with one highly praised program written
for the Apple. For the most part, the programs (in-
cluding the one for the Apple) left much to be desired.
They appeared to be "word processor" programs with an
add/subtract function...you still needed a calculator, a
scratch pad, and a stack of charts and schedules and a
lot of patience to operate them.
A truly dedicated income tax program should require
you to have nothing on your desk but your computer, your
W2's, some receipts anda cup of coffee. It may be
helpful to have a manual nearby (Lasser is about’ the
best), just in case you have to check some theory, which
is impossible for your computer to do (so far).
The main program itself is a snap to write. After
all, the entire pseudo-code is already written for you
on the tax form itself. The only thing you need to do is
assign variables to the lines on the form, and you're in
business. Setting parameters for some items would be
helpful and this would allow the computer to alarm you
for values that could trigger an audit. These figures
can be found in most good manuals (but not from the
IRS), and are programmable.
That brings us to the various calculations required
to determine the taxable or deductible values of certain
items on the return (i.e., Social Security, retirement
income, IRA's, marriage deduction, ect.). These can be
found in the instructions for the official forms, and
are easily programmable as sub-routines.
All of the attached schedules can be easily pro-
grammed including schedule "C" and simple schedule "D".
Schedule "G" presents quite a challenge for the pro-
grammer, but can be done. This one is really fun to
write and you have a really warm feeling of accomplish-
ment when you complete it.
This brings us to the actual tax calculation it-
self. Equations used to calculate taxes as with most
accounting equations require only basic arithmetic skill
(addition, subtraction, multiplication and sometimes
division). In fact if any higher mathematics were
essential, I would have gone into worm-farming instead
of accounting!
Now two methods are used to determine tax lia-
bilities. Note that I said "are" used, and not "may" be
used. There are the X, 2Y's(?), and Z Tax Rate Schedules
and then there are the ever popular Tax Tables.
The Internal Revenue Service in their infinite
wisdom, with the help of Congress, gives us no choice.
In fact, that freedom is not even addressed in the U.S.
Constitution. If your taxable income is less than
$50,000 per tax year you MUST use the TAX TABLES to
calculate your tax liability. (An exception is the use
of schedule "G", and the use of form 4972--Special 10
Year Averaging, which only determines the tax on = spe-
cific types of income and not your total taxable in-
come).
Now looking up a figure on a Tax Table appears to
be a fairly simple thing to do, and one would think that
any eleven year old would accomplish it with ease. But
not only are the Tax Tables (with their 4,932 separate
brackets) NOT easy to use, but they are one of the great
inequities that exist in the current tax system. Actual
IRS statistics show that more HONEST mistakes are made
in this area than any other.
Tax Reform is not the subject of this article, so
now let's get back to business. The IRS in preparing the
Tables did not just pull the figures out of the air, but
did apply a specific formula. You can't call the local
IRS office to get the formula, because I doubt that the
"yoice" on the other end of the phone would even know
what it is.
It took a few hours of mostly "hit and miss" calc-
ulating, but I finally figured out the precise formula
used by the IRS programmers. Once I had _ the equation,
breaking down the XYZ schedules into DATA statements was
no problem. Then I set out to write the algorythm to
calculate the tax. It is necessary to calculate the tax
twice at both the upper and the lower bracket parameters
for the particular taxable income. This should produce
the exact tax found in the Tax Table. Simple, right?
Wrong!!! For some reason the IRS computers, billed as
the "most sophisticated computer system in the world",
goof—up once in awhile. This is not the ordinary com-
puter goof that may occur due to binary conversions, but
goofs in entire sections of the tables. This year, it
only occured in one small section of the tables (which
is an improvement over past years). I told an auditor at
a local IRS office about it last year. He just smiled
and said, "Well it's only a dollar off!". True, but it's
our dollar. |
Since most of us MUST use the Tax Tables, we must
also use the correct figures. Therefore, in the Tax
Calculator program that follows, some calculations with-
in the DATA itself were necessary so that our 2068 could
compensate for the inadequateness of the IRS computers.
Line 9512 [DATA 131.9-sch] Everyone with taxable income
from $3,700 to $5999.99 will be charged an extra buck.
Line 9522 [DATA O-((ta>3670 AND (ta»3700))+sch)] Tax-
payers with taxable amounts $3670 to $3688.99 will get a
$l break. Hey IRS! "It's only a dollar!".
All that is left for you to do now is to type-in
the sub-program and work it into your own main program.
The program itself is lines 1100 thru 9544. The INPUT
and OUTPUT variables are detailed in the REM at 1100.
E Department of the Treasury—Iinternal Revenue Service saercsemanmncr nee IR
& 1 040 U.S. Individual Income Tax Return
For the year January 1-December 31, 1984, or other tax year beginning , 1984, ending
Use Youcfirst name and initial (if joint return, also give spouse's name and initial) Last name
IRS 1A * gee Cs
label. oF h- €
Other- Present home add CHS (Number and street, including apartment number, or rural route)
_ 000 CITY DORIvEe |
print City, town or post office, State, abe ZIP code Vv vee Your occupation
or type. L USAR oO”) q Spouse's occupation
2068 TAX CALCULATOR 1150 LET br=254+((1>30) #25);
LET BisiINE.(tasvbrd:
LET be=bisbr: LET bo=be+br:
Lines 100 thru 160 are a test module. Plug in some LET t=be/180
figures and then check them against the Tax Tables that 1160 GO SUB 120@: LET Li=lL:
came with your 1040. Since the test module is only in- LET l=b3-100
tended to test Form 1040, 1040A & EZ, it is necessary to
‘ : ‘ 1178 GO SUB 1200: LET te=l
put in a dummy variable (sch=0) so that the program will
calculate Tax Table tax. If you are going to calculate ete SLT a gaaeeatehe ((Litte) se+.5)
tax for other forms or schedules, "sch" should be set to ; - 7
1 (true). 1200 RESTORE data: LET lo=@
: 1 "
; I would like to get some feedback as to how you 1210 FOR fel TO 154(fs=1)
liked this program, and if you would like to see some 1220 READ hi,plus,pct
more along the same lines. You can either write to TIME des@ IF l>lo AND Lé¢=hi THEN
. R : LET L=il-lLojepct+plus: RE
DESIGNS, or you can write to me direct. I'll give you TURN
"sudden service" on answering any questions. You can 124@ LET lto=hi: NEXT Ff: RETURN
locate me here, behind the same old stand at 2588 ae es : te eG
9508 REM Htax calculation dat
Woodshire Circle, Chesapeake, VA 23323. e Mita . rive atall
7 9519 pee = Being lem as
B?>REM: 1966 9512 , 2 26% 40,365 7 3 x OF 47
##Federal Tax Calculator++ ae Ee eae 12,70.1,260.5,14,91.
by: herb bowers, sr. ‘ae Ts- sk oe oe 146. 55 900. 9,16, 134.2,
December 1956 1297.7,18, 161.9,1706.3,20, ig6. 4,
2160.3.23
180 REM ETest Module 1
9514 DATA _253.6,2953.6,26,310.8,
REM dummy variable 138, $98.7, 14134. a742,882.7,17388
oe : ,48,1E36,31116,50
120 INPUT "Filing status (1 TO
oo, is, ee PRINT “Filing Status: “ 9520 REM Hiioint & q-wi
. 9522 DATA 36.7,0,0,59.4,0-((ta>s
430 INPUT (“Taxable Income: 678) AND (ta¢3780))+sch,11,62,24
se 1040, Line 37%!" 184gn, 1 ine 9.7,12126.4,520.9,14,172.7,2478
eB See 1@4G6EZ, Line C4 "ta: PRIN .5,16,218, 13879.3,18, 265.5, 2654.7
T “Taxable Income: $";ta (22; 2a .7, 5739.7 ,25
140 PRINT “Tax Liability: §";
15@ GO SUB 11@@: PRINT tax?’ 9524 DATA 379.8,5169.7,25,494.2,
168 GO TO 12a 6768.5,33,647.5,10543.7,38,923.7
.16369., 1.42 ,1180.5, 27969.5,.45,17
1180 REM Htax calculationl 52.5,39525.5,49,15F36,67553.5,58
INPUT: tastaxable amount 95230 REM Hnarried filing sep.
FSsoFiling status
(1 to 5) 9532 DATA 18.35,0,0,29.7,0,11,41
Sch=AnY Schedule or ,124.685,12, 64.2,260. 45,14,36.35,
Form other than 565.25,16,109,939.65,16,132.75,1
1040, 1040A or EZ 347.95,22,161.35,1869.85,25
OUTPUT: tax=tax Liability 9534 DATA 189.9,2584.85,28,247.1
,3384.25,33,323.75, 5271.85, 33,46
1110 LET t=ta: LET t=1 7190: 1.85,6184.55,42,590.25,13984.75,
LET data=9500+(fs+#10) 45,876.25,19762.75,49,1696,33776
-((fs=5) +30) .75,59
1120 IF NOT sch AND ta<50000
THEN GO TO 1146 9540 REM Hhead of household»
1138 GO SUB 1200: =
LET tax=INT (1#100+.5) 100: ries Beg co ig ea a et a tee
RETURN 54.1,17,161.9,1421.9,18,196.4,28
1140 IF {sed OR fs24) AND 44.7,20,253.6,2734.7,24°
aS eeee RL itss : 9544 DATA 310.8,4107.5,28,368,57
Pseo) SAND ta<=5670) OR 09.1,32,482.4,7539.5,35,653.9,11
(ifssa) AND ta<=1650) THEN 543.5,42,882.7,18746.5,45,1168.7
LET tax=@: RETURN ,29042.5,48,1536,42770.5,508
GRAPHEX-PANDER
Sideways Graphics Utility for Gorilla Banana
By Tohmhmn MmrMicMi chael
The following program is a BASIC screen dump pro-
gram for the Gorilla Banana printer with the Aerco (or
Oliger) printer interface. The "heart" of the program is
the POINT (x,y) command. What it does is to test screen
pixel (x,y) and return a 1 if it is INK color oraO if
it is PAPER color. The program uses this information to
expand each INK colored screen pixel into the resulting
2X2 dot printout.
To use the program, first LOAD, MERGE, or type in
the GRAPHEX—PANDER program. Next LOAD or otherwise pro-
duce the screen that you want printed. Turn the printer
ON and type GO TO 9800. DO NOT RUN the program as_ the
screen will be cleared. Be patient...the program is
written in BASIC and is therefore painfully slow. A full
screen print-out will take approximately 21 minutes.
I have compiled the program and it does a full
screen printout in only 4 minutes. It is 576 bytes long
and resides at 60000. For those of you wanting this
faster machine code version, please send $4.00 to: John
McMichael, 1710 Palmer Dr., Laramie, WY 82070. I will
also include a copy of the BASIC program as it is pre-
sented here, on the same tape.
The sample graphics screen printout shown, was made
with the program ART STUDIO and GRAPHEX-PANDER.
9930
S
9933
93940
9945
9759
9955
9969
9965
GRAPHESM—-PAMOEF
REM Put Banana into GRAPHIC MODE & initialize variables.
LET t=8: GO SUB 9958: LET x=0
LET y=
LET t=128
REN Expand to @ dots % @ dots each "ON" screen eixel usirg POINT CK edd,
IF POINT Cx,»y> THEM LET t=t+23
LET x=x+15 IF POINT Cxsw> THEN LET t=t+12
LET x®x+15 IF POINT Cxsw> THEN LET t=t+49
LET x=x+1:5 IF POINT Cxsy> THEN LET t=t+64
REM Loop to build a line of graphics in printers’ buffer,
GO SUB 9950: IF y<175 THEN LET y=yt1: LET x=x-3: 60 TO 9815
REM Print the graphic line.
LET t=13: GO SUB 939529
LET w=
REM Expsnd to 2 dots % 2 dots each "ON" screen pixel using POINT CK).
LET t=1282 IF POINT Cx»w> THEN LET t=t+1 f
REM IF x=é€S5 then GO TO 560 For special last line print-out.
IF 254<x THEN GO TO 9936
LET x=x+12 IF POINT Cxsw>? THEN LET t=t+6
LET x=x+13 IF POINT Cx,sy> THEN LET t=t+e4
LET x=x+13 IF POINT Cxsy> THEN LET t=t+96
REM Looe to build a Line of graphics In printers’ buffer.
GO SUB 99503 IF y<175 THEN LET yeyt+1: LET x=x-3: GO TO 9875
REM Print the graphic line.
LET t=13: GO SUB 9950: LET x=x+1!: 60 TO 9810
REM Special branch For last line print-out.
NCRMAL MODE when done.
aa 9950: IF 174<.~ THEN LET t=13: GU SUE 9950: LET t=15: GO SUB 93950:
LET w=ut+1: IF POINT C25S,y>2 THEN LET t=129: GO TO 9930
LET t=128: GO TO 9939
REM Quteput to printer via Oliser or Aerco centronics I/F.
LET b=1i IF 16<t THEN LET b=e
IF IN 127#2353 THEN GO TO 9955
OUT 127,t: LET b=b-1: IF b THEN GO TO
RETURH
Stops & returns printer to
9
'e)
co
ad
99
T/S
MODEN-ing
Even though you might have the very best graphics
programs for the TS2068, it still takes a lot of time
and talent to create anything that remotely resembles
art. Wouldn't it be nice to get copies of computer
graphics that..."more talented" people created for their
computers?
Well, there is! COMPUSERVE (for example) has li-
braries of computer graphics that you can "download" to
your computer and enjoy...with a minimal amount of
effort! What you need is a modem, a subscription to
CompuServe (for example), and the following RLE decoder
program. RLE graphic files are hi-resolution graphic
pictures that follow a "standardized" format compatible
with just about any computer supporting high resolution
graphics. The TS2068 will support RLE Decoded graphics
in the 32 column video mode.
John Ryan has supplied to CompuServe subscribers,
several files related to the subject of RLE graphics: an
ENCODE program used to take TS2068 graphics files (like
those of the Pixel Sketch and Graphics Editor--for
example) and convert them to the RLE format to upload to
CompuServe. There is a DECODE program to convert an RLE
download picture to the TS2068 format; and there is an
information file that goes into detail concerning RLE
format structures. For now, we will only be concerned
with the DECODE program.
The following program is a modification of the one
Supplied by John Ryan. The program performs thousands of
calculations in the conversion process (RLE to 1TS2068)
and is very time-consuming in BASIC. It will work as is,
but very, very slowly. For all practical purposes, one
really needs to compile it. LISTING #1 presents the pro-
gram as used directly from BASIC. Simply type in the
program, SAVE it to tape by typing: RUN 9999 [ENTER].
When you LOAD the program it will auto-run and begin
prompting you to PLAY the tape holding an RLE coded
file.
LISTING #2 presents a copy of the program as I use
it...part A is BASIC and does the LOAD (RLE file) and
SAVE (TS2068 SCREENS): functions, part B is the basic
ey
ee
RON LENGTH ENCODED GRAPHICS
Stan Lemk @
basic code as prepared for the TIMACHINE BASIC COMPILER
(from Novelsoft), part C is the output from the TI-
MACHINE compiler when I compiled part B (this way you
will know if you typed part B of the program in cor-
rectly). Type and save part A, type-save-and compile
part B (SAVEing as directed). LOAD part A, LOAD the
compiled code at location 30000 (LOAD "" CODE 30000
[ENTER], and SAVE this all to tape by typing RUN 9999
[ENTER].
Once you have "downloaded" an RLE file from Compu-
Serve (for example), save this to tape for RLE decoding.
(Use GO PICS on CompuServe to get to the RLE liabrary. I
use MTERM II with [none] conversion and the DC2/DC4
download protocol from CompuServe. Save the RLE code
using : SAVE "RLE.PIC" CODE 26710, xxxxx where xxxxx is
the bytes-used parameter from the buffer). NOTE: Compu-
Serve DC2/DC4 will automatically open your buffer and
transmit the file when transmission stops, press ENTER.
The RLE file will appear to be random letters and char-
acters on your screen...an ASCII equivalent of the
graphic code
To run the RLE decoder program, LOAD the program.
It will auto-run. "Play tape to LOAD the RLE file" will
be displayed. Play the downloaded RLE file. Immediately
the picture will begin to form (somewhat slower in
BASIC). The RLE conversion process will take a few
seconds (15-20) compiled, 20-30+ minutes in BASIC! All
24 lines of the picture are shown on the screen. The
last 2 lines take a few seconds to develop in the com-
piled program (you will think that the computer has died
in the BASIC version, but be patient...once the picture
is completed, a series of BEEPS will signal that the
picture is done. Now you have a few options available to
you at the press of a key:
PRESS C to send a COPY of the screen to the TS2040
printer.
PRESS
I to invert (exchange paper and ink)*
PRESS S to SAVE the picture to tape**
*Note: RLE pictures use white ink on black paper,
2040 printer will print ink black and paper white.
the
SO
RON LENGTH ENCODED GRAPHICS
you must use the INVERT function to switch these before
printing. Try printing both images.
**Note: When you SAVE the screen/picture, a copy of the
screen is copied into high memory. This takes about one
second in the compiled program, but much, much longer in
BASIC. When transfer is complete, you will be asked for
a file name. Then this high memory version is SAVEd;
this is done to SAVE the entire picture. When you SAVE
anything, the system destroys the bottom 2 lines of the
screen with the SAVE messages. This process’ preserves
these lines, and restores them to the screen when the
SAVE is completed.
CompuServe has a wide variety of RLE files in their
libraries. These include: New RLE uploads, Art Exhi-
bition, Popular Faces, Sci-fi, Fantasy, Cartoons, Animal
Kingdom, Japanimation, RLE Greetings, Fish and Fowl,
* Sena
eo oom Fo Bdibd Ve, a
Potpourri, and the Sysop's Favorites! The enclosed pic-
tures were downloaded from CompuServe and are presented
here with their permission: The Mermaid is an RLE copy
of an art work by Maryiln Morey; the Augmented Lunar
Module was provided by the Picture Support Forum. They
were Decoded, then printed with the Pixel Sketch and
Graphics Editor (large size mode) with an ‘SG-10 printer.
In addition to the many RLE file libraries, Compu-
Serve has a Picture Support Forum dedicated to online
computer graphics. The forum will keep you up-to-date
with bulletins, message boards, and courteous help from
the system operators (sysops). In this regard, I would
like to thank CompuServe and Larry Wood for the help and
cooperation I got in putting this article together.
Thanks Larry! Also, I would like to thank John Ryan for
the use of his RLE decoder program. Now we can all enjoy
with anticipation the downloading of RLE graphics, the
magic of decoding the file, and watching as a work of
art is painted on our computer screens! It only takes a
few minutes to turn any day into Christmas again.
570 GO SUB 282.
So tf .C42-.THEN..CD..TO: S22
5SSQ LET A=A+1
S830 IF C=0@ THEN GO To S52
688 GO SUR i188
685 IF Yet=-17? THEN GO Toa 828
6109 GO TO 5528
ec PRINT HL; AT 8.23 FOR 2=8 T
Oa
B30 FOR Y=1 TO 255 STEFF &
640 FOR X=Z454]1 TO 2#5+e
658 LET p=2
668 FOR W=8 TO FY: IF Lei tk-Liese
S64¢Y4Ni="1" THEN GO SUB S52
678 NEXT WN
630 POKE USAR “H'+xX-L-.2s8:,
698 NEXT x :
7@Q@ PRINT #1; PAPER FP; INK I) °°
712 NEXT ¥
feo. NEXT Z
73@ FOR Z=1 TO S: BEEP .1,2: BE
1. REM 4454444554 454E4445E4445 EP .1,1: NEXT Z: PAUSE @: LET Is
=INKEY § ieee
RLE SASIC 748 IF Ig="c" OR Ig="C" THEN RA
Run Length Encoded Grachice HDOMIZE USR 24508: LPRINT 2 =
750 IF INKEYS=° 1" OR Ts="i" THE
Original program by John Ryan NUFOR N=i6sc4 TO Sese?: LET AsPE
presented witn autko??= consent EK LN: PORE N,eS5-x%: NEXT No
Herat at a 8 eon nee Fo Geil,
Modi fie SD Lemke @,@;: FOR H=@ TO 694
"Lemke. Software Deve lopment PORE (SQOOO+Hi . PEER 153544)
2idd White Oak NEAT GO TO 958
Wichita, Ks. B72a7 S80 GO TO 738 ae Se
= GeO FOR M=8 TO S911: FORE (1636
KLEKESKSHESSSSSSLSHSESSSSESESE SEES = eal (S808 +14) WEAXT M: Go
$eebeee Sete SSE eH ESE SESE TES H ES ABE A
130 ter oe Saeed oe ene? IF N=? THEN LET D=D+1: RETU
¥>2 THE? “%=X-256-
ei artes lees fo poo? IF N=6 THEN LET D=D+2: RETU
12 ¥<@ AND Y>-17 THEN LET L eas Tel geo
ute ie BR ga SUSet pally gts en T BAe IF W=5 THEN LET D=sfe4: RETU
5 148 * f
138 PLOT X,¥ ae nee
140 LET D=D+i: LET X=x+1 URN oe
15@ IF D=C THEN RETURN ceo net
168 6GO TO 118 Lastin Pre | 2¢ rere
BQO LET C=PEEK A-32 a “ot _—
210 IF C<=@ THEN RETURN AF fon sd
238 RETURN aoe mE
SOQ LET C=PEEK 8-32_ TURN sca
330 LET X=X40. IF “0258 THEN LE 22
T X=X-256: LET v=¥-1 “tes
340 RETURN 1912
490 RESTORE . FOR N=245a0 To 24 ptt 23
SOS: READ X: POKE N,%: NEXT & 2036 “REP _ ae ee
1@ DATA 243,5,192,195,5,18: 1208 CLS : PRINT “Play your TAPE
REM Fuli Screen Copy nA tien to LOAD RLE file," LOAD , Oe.
420 LET P=@: LET I=7: BORDER & Fea 3 gg ee
PAPER P: INK I: CLS to.
43 32a LET 2: LE +3 = a
$39 LET A=40000: LET X=2: LET 1200 INPUT #0;AT @,0; "File Name
440 IF PEEK Ac>71 THEN LET asas =.) LINE ng: SAVE ng$CObE seBas
1: GO To 449
452 IF PEEK A<:7e THEN LET A=Ae
i: GO TO 45a
S48 LET A=A+1
S50 GO SUB 3a3
S55 IF C<@ THEN Go To 622
S60 LET A=A+1L
mo
1218 GO TO S820
JE “RLE.DECODE” LINE i022
i!
Ree = 680 GO SUB ia
ee eS IF ¥i=-47 THEN Go To 622
OO ke 510: GO-TO Sse
1005 REM OOOO OOK KK KKK KKK KKK 520 Beer oe ae Go Fe FS
3S ae
Rite -~— DECODER S30 FOR Y=l TO 286 STEP 6
40 FOR X=Zs84+1 TO 7F+8+65
BS@ LET D=2
RLE SAVE/LOAD program... ssa sa fee Soot. =e S13 se
used with the RLE Compiled BASIC SO¢Y4+Ni ="1" THEN GO SUB S58
578 NEXT N
630 POKE USR “A“’+k-1-i2s8) .f
KKK KKK KK KK KKK KKK KK KKK KKK KKK KK KKK ESS NEXT x
7@@ PRINT #1; PAPER FP; INK I; "A
1010 REM DECODE. RLE 240 NEXT ¥
1O2ZO CLEAR 39999: LOAD "RLE.DECO Yeo NEXT Z
DE"CODE Z=O000 -i@e FOR Zeta SS: BEEP .i.2: SE
1090 REM LOAD En Te ee TEE ts
jose come th Sky oe
1100 CLS : PRINT "Flay your TAPE 740 IF T#='c" OR Te="o° THEN fs
to LOAD RLE file.": LOAD ""CODE —o WSR e¢500: LPRINT ae
40000 NE ee to ee ee Sane
1110 RANDOMIZE USR 20000 EK _N: POKE N,255-X: NEXT N
1190 REM SAVE FO gee 2 ae OR Ig="S" THEN FR
1200 INPUT #0;AT 0,0;"File Name eee (reseecn
= "s LINE n#: SAVE n$CODE 50000, Hee, M60 TO ace.
S20 GO TO 73a
6712 — ee 312 REM | OPEN #
1210 RANDOMIZE USR 21265 S20 FOR H=8 To 6911: FORE (158256
1220 60 TO 1200 44M) , PEER (Saa8a4h3 HEAT RM: Go
9999 SAVE "RLE.DECODE" LINE 1020 1 oe ee
pie eS S5@ IF N=? THEN LET D=D+i: RETU
: SAVE "RLE.DECODE"CODE 30000, 19 RN
70 des IF N=6 THEN LET O=S42: RETU
S70 IF N=5 THEN LET D=P44: RETU
RK
S60 IF N=4 THEN LET D=04+8: RETHE
Lisgting #2-—e£2 Ri
838 IF N= THEN LET D=D+i6: RET
Lin
1 REM 444445344444 45445444454 seh, = Pee Ss
a Rt # HELFREEE ara’ SQ0 IF N=2 THEN LET $=04+32: RET
e ae eS LIRR
Compiied RLE ERSIC a < es ace cgen =
RUN Length Encoded Graphics ven IF N=i THEN LET OG=<D4+54¢: RET
Original program by John yar Be IF N=@ THEN LET O=D+125: RE
resentéed With author's caonsent pee
. | : S30 REM ! CLOSE #
Modified by 5 > Lemke #48 STOP
Lemke Software Development
; Bl44 White Oek NOTE: Lines 632 and 783, the “AR”
Withita; “ss, BrSa? is UDG A, GRAPHICS AL
HSEFHSHSSHS SHH SEE HHH HEHE HHH ES HSEH
5S REM 'USR SaeaaS
oe eee) LT 2 he Yo ss Listing #2-C
20 REM i LTHT Sat ae | 3 He ? L 2 tj - Hy ¥s : a
25 REM !LEN Isisi eae
SQ REM | LPRINT hens 32. +0
35 REM | LIST LINE 819: +1265
40 REM ! OPEN # LINE 48: 80000 87530
5Q DIM L#i4ac6)}: Go To 420 LINE 810: giest arAei
189 LET O=8
110 IF x9255 THEN LET X=xX-256: RTI
LET Y=¥-1 285
lea IF ¥i@ AND W:-1? THEN LET OL RT4
SCC(ABS Y1-1)¢2564+%41)="1": Go TF RTS
Oo i142 ore
125 IF y<=-: err i. RTI
RTil
aT
J
“|
at
rm
Tt
ry
“|
ti
ef med ded td ed md
no oo og oo ho oo
Pre EE TL f= ff hae Ma
TOU a OO en
138 PLOT x,¥
a40- LET D=6-4+4: =
150 IF $= THEN RETURN ; ™
1608 GO To 118 RT 4
t
feet feo fet Be * b
CC Or) Cn 0) Oa
en em oe
cen fe Cae Fe 0) > CF oe
th te He te HE He EE ta EE He EL HE FH:
it
a
A
oJ mJ Jd od
rine Cab tat tat bol ‘
WR
ae
“es +
14 156 :
280 LET C=PEEK A-32 RT1i5 1599 BSS. /
210 IF C<=8 THEN RETURN RT1is 1599 #7BEF
230 RETURN RTe2o 1605 HTBTS 4
380 LET C=PEEK A-se2
310 IF ¢<=s8@ THEN RETURN Continued Next Page.
330 LET X=X+C: IF X;255 THEN LE
T X=X-256: LET y=¥-1
342 RETURN
49@ RESTORE : FOR N=2450a To 24
S@5: READ X: PORE NX: NEXT §
410 DATA INT 243,6,192,195,.5,18 Augmented
: REM Fuli Screen Capy
420 LET P=0: LET I=7: BORDER 5 Lunar
PAPER P: INK I: CLS Module
430 LET A=40030: LET *=2 ET
=175 oe nee
440 IF PEEK As: 71 THEN LET S=f4
4: GO TO 448
450 IF PEEK As:72 THEN LET A=f¢
4- “GO To 4s
S40 LET A=Ae1
5508 GO suUB 2a2
S55 IF ¢-+@ THEN Go To szZa
S68 LET A=faei
S70 GO suUB faa
575 IF ¢<@ THEN GO To sz20 ze
S8a LET A=Asi by
SOQ IF C=8 THEN GO To S5e 5
r
RTe2i1
whois 7B 7D
RTfco Bibs HYBSS
RTS SisBSS HPEESED
RT29 Dabok R7BSF
RTS33 SLiBSi HFECE
RT43 SifTead HFEDS
RTSSa Sivis #7BEd
RTSs Sivess HTEFS
RTS1 31737 878FS
RT62 1781 #7C2as
RTS3 2irfrSse #7038
RTSo Siseo HProd1
RT ?O 3i625. #70355
RTF1 visSsse &276C3ea
RTSS S1iSSs #7CSFE
RATS BLisSa8 BPtsA
RATIisgs SisSs6 3767S
RTI1S SLSs8S HYOFA
RTiil Dior. eee
RTiid 31873 #F/7Ca7
RTLLE SLEBSa #rcse
RTL? Sisse #rtSas
RTifs Biases HPISE
RTied Bisid HPYoRS
RTiLesS SLiSsis HYORB
RT1fs6 BSisea HYCES
RT 125 sise? HYCO?
id sessesezse2 8 82 & 8 ri. TEG Pi =
Ae ew eae eee rf. TES iL.
' #e eee 228 288 INTES a : ey
Seseunzsnese FPOSTHT PLid
a zee zsceze e282 cs FPOSINT YLEH
i 2s ee232 22228 - a Bc! THT Fs ire ak BS
| ae ae oe ae es ae Po = LHT hat Se eS ee
p sess es 8B 8 2 & 8 8 ~ a SIT et . > e4 -F &
be ees ¢i een? POSTHNT SIiSES PPL
iti seseepuea2 882 8 POSTNT he Se Baa PLP
is SBYrRGL3 seid #/7DSA
L$i¢8o6)3 STR sevis ROS
TIME MACHINE ©2556 Cameron Hayne
M/C: 1972 BYTES
+ 4141 BYTES FOR Het URRIRBLES
{(BRSIC WAS 2558 BYTES
SAUE “meec"CObDE Sof57,1378
LOAD “merc’CObE saaaa
We stopped last time in mid-description. It seems our Good
Editor has such a wealth of excellent contributions last issue
(besides mine, I mean) that my article had to be cut to fit the
space remaining. This is just fine; my volumninous verbage often
takes up so much space that I worry that I am pushing many worthy
authors from these pages.
I don't have to worry about that anymore.
In any case, we'll just continue where we left off last
time. We were discussing flowchart 4, which shows the building of
the SYSCON table. You'll want to turn back to the last issue,
read the final 4 paragraphs of the last installment, and continue
here (back issues are available)...
We know that expansion banks could control extra hardware
(printers, disk drives, ect.), but they also could have caused an
interrupt, by grounding the INT line on the backplane, with an
Open Collector driver.
The subject of interrupts is far outside the scope of this
-series, but they effectively cause a special subroutine to be run
due to an external hardware signal, rather than the execution of
a CALL statement. In the standard TS2068, an interrupt occurs
every 1/60 second, causing the keyboard scanner to be run. De-
pending on the hardware causing the interrupt, it may need a fast
response, or it may be prepared to wait all day to be serviced.
A bank switching interrupt handler would have had to poll
each bank to determine who caused the interrupt (or wether it was
just a request to scan the keyboard) and this takes time. The
ability to renumber banks according to an interrupt priority
would ensure that the banks that must be serviced fastest also
have the lowest bank numbers. This makes it easy to check the
critical ones, first.
Now suppose that when we installed the bank number, the bank
really DID exist. We put the bank number into SYSCON Ol for that
bank, but with bit 7 also set. This flag states that this bank
hasn't been renumbered yet.
Starting with XOA58, we try several things at once. The bank
can be either RAM or ROM bank. The best way to check for RAM is
to write a number, and then read it back, to see if it "took". Of
course a ROM bank just MIGHT have the same value by coincidence,
so it pays to write a second value to the same location, and
check it again.
Unfortunately, as we can see from the flowchart, the routine
to move bytes from one bank to another has been misapplied; it
errantly tries to copy bytes from the RAM bank to the EXROM bank.
It's obvious that the folks at Timex didn't have any expansion
bank hardware, at least when the code for the ROM was frozen.
These are the simple, "preliminary" mistakes a programmer makes
when writing code in a hurry, and prior to debugging. If any
hardware were available to check this code out, these problems
would never have existed.
Another thing that's done (properly this time) is to move a
24 byte block from location O000 of the expansion bank into
SYSCON 2 and the bytes following. If it's a RAM bank, this is
Part Four
By Wes Brarozrowsk i
e Mystery of the Missing 253°
the overhead bytes for the bank, and they'll follow a pattern
like the SYSCON Table Configuration, given in part 2. (Note that
a couple of items got left out of that table; we'll put in
corrections as needed. )
Having done all this, we execute code to do the final setup
for the bank. If it's a RAM bank, we end up at XOAB7, where we
CALL a routine to check which chunks of the bank actually contain
RAM. (It was also supposed to copy in the interrupt handler from
the EXROM, but if fouls that up.) In any case, SYSCON 02 gets a
byte whose bits specify the chunks where RAM is available.
If it's instead a ROM bank, we reset bit 5 of SYSCON 02. My
SYSCON configuration could use a tad of clarification on this
point. This could have been an ASCII character representing a
channel specification. This is because the bank switching system
could have allowed for additional channels, which could have been
linked to an expansion bank. We'll talk more about I/O in a
minute, but for now, we'll just point out that resetting the bit
will shift the character to upper case.
Now, at XOAC7 and following, we CALL a routine to check
SYSCON 15 for the bank, and if it contains Ol, we get the address
of the initialization code from SYSCON 07 and 08, and run _ the
code at that address in the expansion bank. Thus, for a little
while, the expansion bank is in control of the system. There are
lots of things we may want to do with this. There are cases
where it would be more convenient to permanently add a channel,
without using the OPEN# routine (this should become clearer, ina
bit) or, you may wish for it to install somé special code in the
Home Bank. It could even take over the entire system, or prompt
you as to whether you'd like it to do so.
Whether it was RAM or ROM, initialize or not, we always end
up at XOACA, which steps the daisychain to the next bank, and we
loop to XOA4C and try to find another bank.
Now that we've seen how the TS2068 builds the SYSCON table,
we can take a better look at Flowchart 3, which actually installs
the bank number. First let's note that the system variable MAXBNK
normally contains the number of expansion banks plugged into your
system. But during initialization, it's the number of the bank
presently being assigned. Since the very last bank number
assigned equals the number of expansion banks, everything works
out nicely.
We start by assuming that there's another bank to in-
itialize and increment MAXBNK. If it turns out we're wrong, we'll
correct it later. At XOBDB we try to install that number in the
next bank, which is selected by the Daisychain. That bank now has
the number (MAXBNK). By sending that number to register 80 (Bank
Number Access) we can access its Horizontal Select Register.
At XOBE7, we send 00 to register 40 (Horizontal Select).
This does not remove "power on garbage" as the flowchart says; at
power on, the bank resets itself. However, this DOES make this
routine useful to another (presently unused) routine in the
harmless "power up" garbage. If it's a ROM bank, then these are aH EXROM that RESETS the SYSCON table, by fixing up any values. that
atk
we may have changed there. It's at XOC4C; check it out and see if
you can find some use for it. It appears that Timex may have once
had plans to access this through one form of the RESET command,
from BASIC. We'll talk about that next time.
In any case, at XOBEE, we save the maximum bank number, the
contents of location AOOO, and then write 04 there; this is NOT
an unlock command, as the flowchart says. One of the bank's
status registers (the AO register) is memory mapped into location
AOOO. But we don't yet know if the bank we're setting up actually
exists, yet! If it does, then when we read register AO, we'll
find bit 2 = 0. BUT IF IT'S NOT THERE, WE'LL JUST GET THE
CONTENTS OF LOCATION AOOO WHEN WE TRY TO READ IT. As_ such, we
first set the contents of AOOO so that bit 2 = 1. If the bank
doesn't exist, we are guaranteed to see a "1" there.
Almost. What if NO bank has location AOOO's chunk allocated
to it? This can happen, since that routine that resets the SYSCON
table also CALLs this, and the chunk could have been "lost"
through some code of our own. Looking at the TS2068 schematic, we
see that data line D2, and only D2, has a pullup resistor on it.
Even if no bank will respond to location AQ0O0O, we're still
covered, and the lack of an expansion bank will show us a l. This
would also have been needed if Timex sold versions of the TS2068
that only had 16k of RAM in them. (They did announce such plans,
though they wisely discarded them.) This is a somewhat more
complete (and slightly more accurate) explanation of the
resistor than was given in the past. If this explanation makes
any sense, you may see why I simplified the description, earlier.
All right, NOW we can read the CO/AO register pair, and
check bit 2 to see if the bank exists. In either case, we'll re-
store the contents of location AOOO, that we wiped out earlier.
If the bank is there, we set the CY flag, and return to the
CALLing routine with the bank's number installed, and MAXBNK
properly updated. If the bank isn't there, we return with the CY
flag reset, we decrement MXBNK, to correct our original assump-
tion that another bank existed, and we send 04 to register CO, to
end the setup mode, since we won't be using the daisychain, any
more. That's it!
Flowchart 5 shows the GET STATUS routine, in the RAM resi-
dent code, after the modifications in TM6.5.2 have been in-
stalled. For a specified bank, it will return the Horizontal
select byte, and will also return the status byte for an expan-
sion bank. Note that in normal use, this routine is called once
for each bank, and the information is used as a whole. This is
because the Horizontal Select register for the standard banks
"claims" all 8 chunks for those banks. Remember, an expansion
bank has to override this, by applying the BE signal at the
computer's backplane connector. As such, the horizontal select
information for the standard banks is only valid for those chunks
not claimed by an expansion bank. ;
There's not too much to say about Flowchart 6. This is
CALLed when the initialization code finds a ROM bank. It marks it
as such in the SYSCON table, and checks bit 0 of SYSCON 15. If
it's a "1", then the initialization code for the bank is’ run.
This allows each bank the option of participating in system in-
itialization. It's not mandatory, but it's nice if it's needed;
particularly if the bank has some I/O hardware that needs some
initial massaging. Note that HL is used throughout the _ initial-
ization as an address pointer into the SYSCON table. As the flow-
chart shows, this routine has a major bug in that it wipes out
that pointer by accident. This does not seem difficult to fix,
but as is, it seems unlikely that the system could initialize
with a ROM bank present.
Increasing Your Vocabulary.
Many readers know about the working TS2068 commands. that
aren't documented in your owner's manual. For example, OPEN #2,
"p" will redirect all output from a PRINT statement to your
printer, rather than your screen. There are also commands that
are only "half there". Turn on your TS2068, and type in the
following "program":
10 LOAD *"m",3, "test"
20 CAT "d" ,3,4
30 FORMAT "m",1,2,3, "junk"
40 OPEN #3,"5",1,2,"moretrash"
S50 MOVE "a"
"“garbage",2,39
(60 ERASE "b" ,1, "nonsense"
You may be surprised to find that every one of these
commands can be entered into your machine, and it will accept
them, but not one of them will actually RUN! (You'll get an error
message, instead.) Furthermore, each one will take as long a list
of string and numberic items as you'd like to give, provided you
give at least one, following the single letter in quotes. (Except
for the OPEN# command, which normally needs no extra list
following the letter.
What gives? The Timex/Sinclair machines are supposed to do
complete syntax checking when you type your lines in; how did it
miss these? Well, there is a class of commands that only work
when extra hardware is plugged into your machine. There are two
ways these could have been implemented, and the TS2068 de-
Signers seem to have left both options open. The first method is
largely copied from the Sinclair Spectrum, and it works like
this. BASIC can do two things when it "sees" a‘program line. If
you're typing the line in, it runs the Syntax Checker. If it's
RUNning a program, it looks up the address of the routine that
executes the command and runs it. (If you type in a line with no
line number, it does both.)
This is also true for the above extended commands. We think
we see a difference because the routine that runs the command is
designed to end up with the printing of an error message. Thus,
if you type in the proper syntax, the machine will properly
accept the line, and when you RUN it, it "properly" prints an
error code.
Whatever for? The program that prints error messages (for
both the TS2068 and the Spectrum) is at location 0008. Those
familiar with Sinclair's Interface One, for the Spectrum, know
that it switches in it's "shadow ROM" whenever the instruction at
0008 is run. The shadow ROM then checks the cause of the error,
scans the present BASIC line, determines if it's supposed to be
running an extended command, and acts accordingly. While this
might seem like an odd way to add commands, it contains a per-
verse sort of beauty. It makes it possible to design a computer
and include all the ROM code necessary to run future add-ons,
without really knowing what those add-ons will look like, or what
real software is needed to run them. It's a great way to "buy
time".
If this method were used, we can guess that the BEU would
have contained extra hardware to switch in the "Superbank"
mentioned in the past. This would be analagous to the shadow ROM.
Since the Home ROM code contains nothing to link it to a bank
switching interrupt handler, perhaps the "Superbank" may have
Switched in when the code at 0038 (the keyboard interrupt
handler) was run.
There is a second option. In routines to "run" the extended
commands, we tend to find a JUMP instruction to code to print the
error message. But following that JUMP is usually found extra
code that appears to look up an address in the SYSCON table and
CALL the routine in its expansion bank. It also passes on what-
ever list of information was tacked onto the end of the state-
ment. As such, if the JUMP is NOPed out, it appears that’ the
system should find code in an expansion bank to actually handle
the command. Furthermore, these extra blocks of code are not used
anywhere else in the ROM! They were almost certainly intended to
link the extended commands to the expansion banks. Why were they
blocked from that purpose?
Nothing is simple. Once again, there are two fairly rea-
sonable options. In essentially every case, the little packet of
code that's blocked off contains one or more fatal bugs that
could really gum up the system if allowed to run. Since it
would have been fairly clear to the designers that new, bugless
ROMs would be needed for bank switching anyway, they could save
debug time by simply hiding the code that oes original ROMs would
really not need. :
The other option centers around the se. of separate Timex
and Sinclair developments. The Sinclair Intérface One was re-
leased around the same time as the TS2068 was, and its’ relative
simplicity suggests that design on the TS2068 was begun a good
deal BEFORE the Interface One. As such, the original TS2068
designs could not have considered it, and if Timex did eventually
plan to copy the Interface One's method into its own microdrive
interface, they would have had to make some changes.
While blocking off some of their code might seem a_ sloppy
way to do this, it would have worked, and the rest of the Timex
modifications to the Spectrum code aren't very neat, either. As a
glaring example, we can find several routines in the ROM that
were probably used by the programmers to debug the code, but
aren't used by the ROM, itself. This method is fairly universal,
but the common practice is to remove your debug garbage before
assembling the version that's to go into ROM.
It's a similar bit of sloppiness that makes this second
option the most likely. You see, one of these "blocked off" bits
of code seems to have quite a few instructions missing from it;
it could never work as is. Now, I know that some of you have
bootleg copies of Timex's original source code listing for the
Continued Next Page.
ROMS. If you'll look at the code following the JP at 25El in the
Home ROM, you'll see that Timex "commented out" a full 28 lines
of code, which would have assembled into about 43 bytes. These
would have restored the missing functions, but the Home ROM only
has 36 spare bytes in it (3CDC, and following), so these extra
bytes wouldn't have fit. Rather than to search for debug garbage
to delete, they simply hacked out some code that might otherwise
have been functional! Clearly, it wasn't too important to them.
As such, they were probably going to copy the method (and as much
software as possible!) from the Interface One.
While we can bounce these, and a whole lot of other bits of
circumstantial evidence around, we can get no conclusive answer.
In the end, it doesn't matter. If we wish to restore the bank
Switching functions, we can use either option. But it does help
to understand that both options are there. It's also worthwhile
to note that restoring the blocked out code would make the -hard-
ware design somewhat simpler for us.
I/O, 1/0, It’s off to Work We Go...
Take some time and get cozy with 1TM4.1, on I/O channels.
This is not a great treatment of the subject, but it's a start.
Next, if you'll read the definitions of the system variables
STRMS and CHANS, on pages 262, 263 of your TS2068 User Manual,
you'll notice some subtle inconsistencies with the Technical
Manual. The User Manual implies that channels and streams are two
different things, and that channels are "attached" to streams.
The Technical Manual suggests that the two things are identical.
Actually, a channel is a block of information providing a
link to an I/O device. At a minimum, it contains a 2 byte output
address for the device, a 2 byte input address, and a1 byte de-
vice specification, which is an ASCII character. All of the
normal channels that appear when you power up your computer,
("k", for keyboard & lower screen, "s", for main screen, "p", for
printer, and "r", which isn't used, but is there anyway) follow
this 5 byte format. It doesn't have to be this way though; an "m"
(microdrive) channel on the Spectrum, is an incredible 595 bytes
long!
A stream is normally a displacement into the channel area.
There are 19 available streams, and the system does most of it's
I/O through them. It must look up the channels they point to,
find the addresses of the appropriate input or output routines,
and then jump to them. Normally, stream O points to the "k"
channel, stream 2 to the "s" channel, and stream 3 to the "p"
channel.
Can we use this from BASIC? Sure thing!
If you type:
PRINT #0;"test":PAUSE O :
6405/6 -Save Reyistens
6407 - Move bank tt te A
(y}64-08-640B-%s it the EXxRomM? W)
('y}640c-L40F - Xs it Home Bank ? iN)
6410-4417 Ts it Dock Bank 2 |)
Herve For Exfausion Gauks
6413 -64/8-Send bank & te reyste. 8G (BNA)
6419 -641F -Read the 40/80 wezistee pare Cis)
~Zts vert hi-trene
64204422 - Make the hevi2- select lows teme
& gut ié ie he C register e
6423-64ZC-Read the ACLO reyigder pair (bank
Stat & put , Bivegi
te.
ht FRin C’ start wth nothing Selected
Mik Dial Meck pan wonk 287 1)
Get fort F4 intod & make it lo-cure
Get fot F4 into 4, (Fa the
Home TG 7 t% al coe lew. true
rut the info From A juto |
Put FF inc! start with hothing selecte
wi
Restove vegisters & RETurn
FlowcHART S- GE TSTATUS in RAM vescdeut
code. Tacorpevates the corrections wm T™M6,5.2
CAUTION: This routine is intended to be CALLed
once for each bank. The Home bank will appear
to “own” chun ks allocated to ex Pension banks,
and this willbe wisleading without the extra
information on the expansion bauks.
Does EXKOA Owes, fort I-47 yy
fst
ts
XOCIF Point to STStow Ot
Xocto/i - Mark this as 2 ROM Bank
XOC2t-X0czS- Get SYSCONW 15°
XOc277-Move bit @ to CY. TF its GB then
there’s wo initialization to be dae
@[xocz9/a Is ct 2? Sy)
the NEXT bank & KETuen
YOCZF-KXOC3O This well s et « Horviaental Selact,
in 2 moment
Xoc3!l-Y¥oc33 Gets the bank wumber
XOC34-XOC3B Pornt to SYSCON IZ (Addvess for
tuitializations code) and fut the cou tents
of SYSCON 12 inte HL. (This is 2 Bua!
it wepes out the SYSCON poruter !)
Put bank vumbe- in B
PUSH address of CAML routine Cin steal -
t2atien code
PUSH Bawk & eof CALL voeutine with HS
being every Chunk, excerpt chun > whyreh
Presently contains the CALL-BAWVK code,
KOCSF-XOC43- There will beno output o- impud
fparaneters ;
X0c44-XOC4E- CALL khe veatiwe te initialize
oc47-Xoc¢4-TPh HL hadurt been wreped, Ehis may
have updated the SYSCONW pornter, és
SY¥Scow O1 f. tre NEXT bark RETurs
FLOWCHART 6. Checks to see cf »= Rom
bank heads to be initialized, xf so c€
€xecutes the banks (nitializr tien routine
throu yh the use oF CALL. BAWK.
you'll find that it prints on the bottom line of the screen,
where BASIC can't usually PRINT. The PAUSE 0 is simply there to
keep the system from printing its "OK" down there before you can
see what you printed. If you instead use #2, it will PRINT
normally on the screen. Using #3 will send the information to the
printer. What we're doing is telling BASIC which stream to use
when it sends out the PRINT data. When we don't give it a stream
number, it uses #2, as a default value.
Conversely, we can do the same thing with the INPUT command.
The command INPUT #1,A will input a character through stream 1.
This is what it does by default, and so doesn't demonstrate as
much as we'd like, but it shows how we'd use INPUT to take data
directly into BASIC from an I/O device. None of the other
channels has a true "input address"; the addresses given will
just cause the printing of an error message. Clearly, there's a
lot of I/O power here that just isn't being used!
The "print drivers' that allow LPRINT and LLIST commands to
run a large printer work because they modify the output address
in the "p" channel. (Ordinarily, it points to a routine in the
ROM that accommodates the TS2040 printer.) The COPY command needs
a separate routine because the COPY command doesn't work through
an I/O stream.
Most of this can be gleaned from the Technical Manual, but
there are additional capabilities that have not been documented.
Above, I said that a stream is NORMALLY a displacement into the
channels area. Actually, only the lower 15 bits of the value are
a displacement. (The most significant bit is then normally "0".)
However, if the most significant bit contains a "l", then the
other bits represent a displacement into the SYSCON table, and
can give us an I/O link to routines in an expansion bank.
Some machine code programmers use the RST 10 command to
print the character in the A register on the screen. Actually,
RST 10 will send it to the "current channel" (whose address is in
the system variable CURCHL), and BASIC will have set this to the
"s" channel somewhat before it executes the USR funtion that
hands control to our machine code. It can be changed by putting a
stream number in A and CALLing 1230. For example, stream 3
normally points to the "p" (printer) channel. If we LD A,3 and
then CAL 1230 then subsequent RST 10 commands will send the
character in A to the printer.
Now, this RST 10 business is standard Spectrum stuff, but
Timex added a lot more for bank switching (mostly inoperable, due
to bugs). There is also a "current channel bank number", in the
system variable CURCBN. For expansion banks, this is the bank
number, and for Home Bank, it's set to O. The Dock and EXROM
banks aren't supported by this. As such, RST 10 was intended to
be able to send the value in the A register to a routine in any
expansion bank. If it were'nt for a bug, it could also be used to
INPUT a character through a routine in an expansion bank numbered
2 or greater. Apparently, Timex had a special purpose in mind for
bank #1 (the superbank, perhaps?).
If you're comfortable with streams and channels, you _ prob-
ably realize that the primary function of the OPEN # command in
the standard TS2068 is to modify a stream to point to a par-
ticular channel (OPEN #stream,"channel"). However, there is also
a "channel specific" portion run, since there may also be some
system flags that need massaging. To make it possible to OPEN a
channel into an expansion bank, placing a comma after the
standard OPEN # format will allow you to add any additional
garbage you'd like to the line; it needn't be a list at all. This
will pass the syntax check, but trigger an error on execution,
kicking in the superbank, (if that method were used) and handling
whatever channel specific operations may be needed. Like actually
inserting the new channel. Or scanning the SYSCON table for the
proper channel specifier and running a routine to open the
channel from that bank. The OPEN # code address would be at
SYSCON 03 & 04; this got left out of the table, in part 2.)
The CLOSE # command looks a bit more boring, but it does a
lot. In the standard TS2068, it largely just returns to its power
on value, but if the stream was attached to an expansion bank
channel, it will also run some code form that bank. The address
is found at SYSCON 05 and 06 this WAS included in the table
in part 2. (Well, every now and then, SOMETHING goes right!) In
order to get some use out of extended bank switching, the I/O
routines must be understood and debugged. This is a bit far from
the topic of this series, and space won't allow a detailed ex-
amination, but here are some memory addresses to help (keep your
bug- spray handy!!!)
11AA-11BE Initial Channel Data
"T really meant it... I really did"
I began this series with the cautionary note that I'd be
presenting only the results of my foray through the ROMs; not
giving a construction project. But perhaps I can break my own
rule just this once. Some readers are a bit scared by the idea of
changing the ROM code, to make the bank switching work properly.
Cutting up their computers, and opening it repeatedly to switch
EPROMsS just seems too bothersome. Actually, there's a better way,
which is so simple that it is by far the easiest part of im-
plementing bank switching.
Figure 5 shows a circuit I use in order to run EPROMS’ in
place of the ROMs. I was able to build mine on a small card that
plugs into the cartridge slot, although it's slightly too large
to get the door closed. This is not really too bothersome, since
it's only a temporary modification, used when debugging the
actual ROM code. One fly in the ointment is that one necessary
Signal is not available on either connector, and you'll have to
open up your computer to tack a wire on to it.
The jumper marked W2 is the point to which the wire must be
attached. Although it looks like a resistor, it's merely a wire
jumper in disguise, so you can hook the wire to either side.
While you've got your computer open, don't forget to remove the
ROMS. It's also a good idea to put a label on each, telling which
is which; if you ever want to put them back, you'll need to know.
Depending on the installation of the jumpers as shown in
Figure 5, you can run either EPROMs or the original ROMs, or one
of each. This is helpful in debugging the board, and also in de-
bugging your ROM modifications, since you may frequently want to
Switch back to the original ROMs, to see how they react to a
certain set of circumstances. I find it most convenient to keep a
set of EPROMs that contain an exact copy of the ROM code for
this. That way, I don't have to fool with the ‘jumpers, much.
Still, you can do whatever suits you best. Also note that the
extra wire is only needed if you want to make changes to the Home
ROM code. You can simulate EXROM externally without any extra
wires tacked on, but you'll still want to open the computer and
remove the real EXROM, first.
Since you'll be doing a lot of plugging and unplugging, in-
vest the extra ten or fifteen bucks to install ZIF sockets. This
will be cheaper in the long run, since you can't plug a chip too
11C1-11CD Initial Stream Data many times into a normal socket, without breaking off a pin. The
cost of the sockets will far outweigh the cost of the ruined
EPROMs, not to mention the wasted time and frustration.
That's all for now; we'll wrap up this series next time.
Don't forget to write or call with your questions, ideas or
observations. I'll be glad to hear from you!
L1ED-122F Outputs A to current channel (used by RST 10)
1250-1292 Set current channel according to stream # in A
1374-139E Search SYSCON table for channel specifier in C
139F-1429 CLOSE routines
1424-14046 OPEN routines — Note that location 1486 contains a
Tus éel/f Tiay2 only to reelace Home Kan with EPROM
Daustall
JR that is reached through another JR.
This second JR is T3 only teovun the Timex Howe Rom
one of those JUMPS that blocks off some of the ROM code. =
Vee Wire
Az J directly
é . : : CAD [-} ln
depending on how you may want to implement things, this = pe Seale Site
: : AS (Kons)
JR might be NOPed to allow OPENing a stream Ab Do
4? Di
? ‘AB +D2
through an expansion bank. Ave P3
tt Mae > Tas € € € or
fiz es ee" polis i ccer te ¢ Dé
s TH.
GND
=
=
°)
te
a
yh
Ot - Vee
va)
oN ac’ : sv
ne ER aig —READ.
2. MREQB
EXKROM
Dustall J4 ps Only te replace Exrom wrth EP Rom
Lnstall only fo tun the Trmex &xXRoM
FICuRE S. Aw external ciceart board Fon Jebus ying chraxmzes
tn Home FROAt aud E XROM code
aor bee |
de ree?
CHARACTER ANALYSIS
By William C. Andrews
CHARACTER ANALYSIS is a utility program to define
the binary and decimal value of a byte and is useful
with user defined graphics when they appear in a machine
code program. It can be merged with another program
and activated with GOSUB 9600.
WOOO BORDER Ss FAPER=S: ELS
1435) GLS..5 FRENT AT 10,03" ENTER
CHARACTER TO BE ANALYZED "
Wriet? LIP UT .“ UBRAPH IC MODE) “2A
9630 CLS
7640 GO SUB 9880
9650 FRINT AT 4,15; FAFER 7; BRIG
HT O; AS
9660 LET x=120
7670 Ley 239
9680 LET y=143
Tee Pum eoy 1D y-/7 STEP =4
9700 LET c=9 ?
7/40 Cel 227
9720 LET byte=0
97720 FOR b=x TO x+7
9740 LET byte=bytet+2a"2kx (POINT (b,
a&)) |
27530 FRINT AT 1,c3POINT (b, a)
760 IF FOINT (b,a)=0O THEN FRINT
At i.c; OVER-<1: PAPER: 6:: BRIGHT
ee a it
S//0 IF POINT (b,ad=1 THEN PRINT
AT l,cs OVER 1; INVERSE 1: BRIGH
- 13 Ht vy
9780 FRINT PFPAFER 1: INE 7: BRIGH
t bet 45455" "sAT 1,20:byte
9790 LET c=cti
9800 LET z=z-
9310 NEXT b
99820 LET 1=1-+1
S820 NEXT a
9840 FRINT FAFER 2; INE 9; BRIGH
4. 3A 28,973 —-3INARY “; AT 18,173
PAPER 13°: DECIMAL *
9850 PRINT #1: TAB 10; "COPY? (CY/N)
9860 FAUSE O: IF INKEY$="y" THEN
COFY
97370 CLS : FRINT AT 10,0: "REMEMBE
FR TO CHANGE GRAPHIC MODE": FAUSE
Zoe CLS 3205 FOP
FE00- PLE 141,152
939O DRAW 25,90: DRAW ©,-25: DRAW
~25,0: DRAW 0, 25
9900 FRINT AT 3,14; PAPER 7:"
9910 FRINT AT 4,14: FAFER 7:3" °
9920 FRINT AT 3.14: FAFPER ia ee Zs
9930 RETURN
ne
a
bere
(HABE RBRERHRBRERER EAE RURHREAGABREABABRe HEuuau AGH Ge HRHHGHUAHREABEBHUREREABRBRURERB AUG
See DUDGEOM OF Min eee
A MULTI-LEVEL MAZE ADVENTURE GAHE by Fred Nachbaur (C1966
-OFk THE TTin6nmex iTsisec
FINALLY! A FULL-FEATURE, HIGH RESOLUTION DUNGEON GAME FOR THE TS156@!
CE AD ab
This 24K game, written entirely in machine-code, is the most spectacular program
ever written for the TS150@. Nine levels, 16 types of monsters, 14 objects, six
spells. Easy to play, difficult to master. Includes FAST-SAVE with auto-boot to
save in-progress games: time to load entire program reduced to 76 seconds!
Revolutionary TRUE HI-RES puts your TS15@@ on a par with much larger machines.
Send $24.95 (cheque or MO) to FRED NACHBAUR, C-12 MTN. STN. GROUP BOX, NELSON BC
ViL SP1 CANADA. Specify version: V1 (TS1566 + 8K Hunter NVM or equivalent) or V2
(TS15@6 + 16K RAM pack). V2 requires a minor hardware addition (included).
COMING SOON: V3 for 2X81/TS1068. Inquire. *** ALSO AVAILABLE: TS156@ HI*RES
EXTENDED BASIC ($16.95)
HG) > Efe
GEAMRERERUGUOURERERUAUUGRERURUOHOBRERERSAUOURURERERUAUSOGERE
Teew~ DUOGEO OF YMA Venn
: A BULTI-LEVEL WAZE ADYERTORE GARE by Fred Rachbawr (1986 te: at = a Ay
: -~---THE CAST OF CHARACTERS---- ee bap dape suAVEEMY nies 2 HE
* 4% - This is YOU, the Here im this Saga. Tow must find -_—<——— 33 Ann 3235
2 ‘T - THE SWORD OF KASLO, the object ef your sacred quest. HH AYAVAERUNELY una #3:
5 ¥& - TRE ORACLE; perhaps he’ Ul help you, perhaps net. 3 86 9h 64 EB HE
. “hong sour way, yout will encounter san3 sree | Things--- ALL HH BE 9 fe Rl a TT ze OF
: ons TWORK ee ee
: We WIRSTAME OF CASTLEGAR | Q - MAGICAL SPELL 9IML rd eae ae musa Pore Be
: fo - ORCMER OF ARGERTA » - PSTCHIC LAMPLIGRT TH se See anee #8
: % - BIRDMAN OF INDERNERE | @ - CHEST OF BYSTERT FROM ACTUAL He nEaee TTT AB
: vi - DIRE MOLF OF SILVERKTNG! = - STAIRS UP = - benD SCREEN 3 tt #2 BB
: St - TWREE-LEGGER GREMLIR | i - SACRED TEMPLE @F @STLOM ee = ae BF
: % - GIAAT KILLER COCKROACH | @ - GOLD TEMPLE OFFERIAG DUMPS! oe SAnAAh Ww ee A
: He - BODACIONS BATTLE-BAT | @ - PIT © - CEILING HOLE - ayanguhd
: - GHASTLY GORT GHOUL =| % - 198 Gel PIECES =o J 2S #—---------- = ie
° BERARE: If a monster attacks, you must FIGHT TO THE DEGTH!
—-------- THE CONTROLS --------
0S eed bt ot bt ee
5- a = in sete sp i ' Hi - Take a Bealing Potion
T - Cast a Teleport Spelt ft T - ER oabchabnhatt et ransom skoncuananbrerestmnereree terra tre oft
uinanSiadaigidddaensodabdonnltiiatsivi@hdidtann EE ne > rg ome Fics po ore Oe
Son een ntl Ia SSR
ial:
: f
Rt. 10, Box 459
Mechanicsville, VA 23111
(804) 746-1664 or 730-9697
COMPARE OUR PRICES!
QSOUND/QPRINT $129.95
A sound generator board METACOMCO:
THE EDITOR $34.95 PASCAL $79.95
10 times better than Quill BOPL $69.95
512 K RAM $164.95. fFh 5 oi
DISK I/F $124.95 LATTICE'C $99.95
QFLASH $29.95 LISP $69.95
512K & DISC I/F $289.95 ASSEMBLER $45.95
CENTRONICS I/F $34.95 BOOKS: $8.95 EACH
SUPERCHARGE $69.95 | MACHINE CODE PROG.
AQUANAUT 471 $25.95 QDDS COMPANION
THE KING $25.95 QL GAMESMASTER
QL PAINT $34.95 INSIDE THE SINCLAIR QL
SPRITE GENERATOR $24.95 USING GRAPHICS ON THE QL
QL MOUSE $129.95 ADVANCED PROGRAMMING ON QL
SUPER ASTROLOGER $29.95 DATABASE MANAGMENT QL
WARIN THE EAST $27.95 QL SUPERBASIC
SUPER TOOLKIT II $54.95 PROFITING FROM THE QL
QL PRINTER $219.00 QL COMPUTING
ROM DISASSEMBLER $34.95 (MANY MORE TITLES)
MICRODRIVES IN STOCK AT $9.95 FOR (4)
VISA & MASTERCARD ACCEPTED WITH 3% SURCHARGE. ALL PRICES INCLUDE SHIPPING.
WRITE FOR OUR NEW 6th EDITION CATALOG.
TASWORD TWO +
By Baia Ferrebee
Tasword. TwWo+ ; © Saghian ar wuere 1983
© Heuntatacer Sotiware 2906 5 as ei he hl ae a
Pe ee PRINT text fFil@wewenees eeeceeneesP
Feet ae: Pl) gape eee eal tee SAVE text Fil@wecrcaccseoe eoeccee s
Line spacine? (4) LORD text Fil@ensnsceese eeececeed
Start at tine? (1) MiER@e Cet Fi UO as cc. ac00 0 0 00 0 9.08 & m
Piaaw ek fia cs RETURN to text fil@eseccees er
No. Of copies ti) define GRAPHICS sprinteracceseerd
Lott cavesh to SAVE Tasword TWOtecescescecces ret
into BASTCccsescacssvc eevesee aeb
I use my TS2068 for many tasks. But if I had to
choose one major use, I would have to say it's WORD
PROCESSING. Be it for writing letters, making a _ check
list, or compiling articles (like this one), I make
great use of my Word Processor.
A short time back, I did an extensive overview of
available 2068 Word Processing software for a news-
letter. Of all of the programs I looked at, two were
exceptional: MSCRIPT and TASWORD TWO.
Both programs were well written, and had some very
nice features not found in programs for other computers.
I personally prefer using TASWORD TWO, mainly be-
cause of its screen presentation. If, for example, a
line of text needs to be centered on the page, it will
be centered on the screen. "What you see is what you
get" is the best way to describe it.
As I said before, both programs were well written.
But do we T/S users EVER leave a good program alone?
Heavens, NO! We have to make it BETTER!
In the case of MSCRIPT, Jack Dohany has authored a
major rewrite: MSCRIPT Version 5. Jack has added every
imaginable feature, and a few you may not have’ thought
of. All owners of the original MSCRIPT should contact
Jack about his upgrade. You need to legally own aé_ copy
of the original, because he only includes documentation
on the added new features. Write to: Jack Dohany, 390
Rutherford Ave., Redwood City, CA 94061.
As for TASWORD TWO...enter TASWORD TwoOt!
Twot+ adds a few new features, and
original ones:
l. An expanded and easier-to-understand Main Menu.
2. Easily modify Help. Pages from the Menu.
3. Make multiple copies of your document
an on-screen copy # indicator).
4. User-definable Paper/Ink colors from the Menu.
5. Easier modification of the left print margin.
6. TS2040 printer is not disabled after use of
a full-size printer.
The. following program "Taspatch" as listed replaces
the original BASIC portion of Tasword Two. Once entered
into the computer, the Machine Code (bytes:tasword) por-
tion of your original program needs to be added.
Once both parts are entered, simply go to the Main
and save back a new copy of TASWORD TWO+t.
Also included with this article is the supplemental
documentation that explains the use of the new features
of TASWORD TWO+. 3
Good luck with your copy of TASWORD TWO+. If you
have any other modifications for this program, please
send them to me. I also have cassette copies of the
"taspatch" BASIC and "tasdoc" text file available for
$9.95 postage paid. Bill. Ferrebee, Mountaineer Software,
749 Hill Street #6, Parkersburg, WV 26104.
Tasword
improves upon some
(includes
Menu,
TASWORD TWO+ Supplemental Documentation
1986 Mountaineer Software
Welcome to TASWORD TWO+! This program gives you even
Word Processing power, and will make use even easier.
This extra documentation will guide you through the changes
made by TASWORD TWO+, and will help you to make the best use of
those changes.
more
MAIN MENU
The Main Menu has been augmented with new choices, and
streamlined for easier use. Its use is the same as before: press
the corresponding letter to your choice, and ENTER to verify.
PRINT MENU
The PRINT text file Menu has a few new options added to it.
First, you may select the number of copies you want printed by
typing that number in at the prompt.
Remember to either designate a graphics symbol for
form-feed, or space the proper number of spaces between pages,
or the text will be printed continously, with no break between
copies.
Also, the left margin of your printout may be
from this menu. Originally, this selection was in the
Inter face control code selection routine.
speci fied
Printer
PAPER/INK COLOR SELECTION
You may now specify what PAPER/INK color combination you
would like to use with TASWORD TWO+. To make your choice, first
go to the Main Menu and select “define. GRAPHICS/printer....g".
When you are asked to "Reset interface/printer codes?", press
CyJes. Press ENTER until you get to "Paper/Ink control code=",
and use the chart below to.enter your choice.
CRemember, some color combinations may not be very suitable
to use. This will depend on your TV/Monitor selection.)
PAPER: BLACK BLUE RED MAGENTA
INK H aT? Sees | Brae «1600000 Black...2.2216 Black. ..2.e«224
ReGecsccatnce
Magenta....3
Green.....224
Cyan.cenceedd
Yellow.....6
White......7
Red. .ecseeliD
Magenta...11
Green..22212
Cyan.seee2e1d
Yellow....14
White.....15
Blue@.cesveetd
Rediscesssed
Green...++208
Cyan.ccene2d
Yellow....a0
White....e.al
Magenta...19
Green.....20
Cyan....--2h
Yellow....22
White.....23
PAPER: YELLOW
INK : Black...2e32
Blue. ceecead
Red.wseeeect:
Magenta...35
Cyan.ceeseal
Yellow....38
White.....a9
Black....-40
Blue. .222241
Red. wweee242
Magenta...43
Green. 2.244
Yellow....46
White.....47
Black.....48
Blues. 000249
Red.wceese dO
Magenta...Sl
Green. ¢...02
Cyan. eseeeda
White.,...50
Black.es.ee2 JG
Blu@.eeseed?
Redoccsseene
Magenta...59
Green.....260
Cyan...222-6i1
Yellow....62
HELP PAGES
Help Pages (Main & Extended) may be customized for your own
use by using the Ce) command on the Main Menu. Once you have
entered the particular page into the text file, make sure to
replace it as soon as you have made your changes. Then SAVE a
new copy of TASWORD TWO+ with your new Help Pages.
Prog:taspatch
10 LET hf=NOT PIs: CLS 3
11 FOR i=SGN PI TO VAL "9"15
S"yVAL “2"3 NEXT is RETURN
15 POKE VAL "23609",VAL "2":
OO":
pe"sAT SGN PI,NOT PI:
a=USR VAL "S9081"s:
20 CLS :
"O" THEN GO TO VAL "S000"
it
-
thee
LET a=USR VAL "64330":
BEEP VAL ".2",VAL. "3":
CLEAR VAL "35279":
PRINT AT VAL “10",VAL "S"; FLASH SGN PI;"Do NOT stop the ta
LOAD “tasword+"CODE :
10",VAL "6"; FLASH SGN PI;"Stop the tape":
GO TO VAL "10"
LET a=VAL "64" INT Ca/VAL "64"4VAL "0O.99"):
GO TO VAL "20"
BEEP VAL "“.
GO SUB VAL "40
CLS : PRINT AT VAL "
GO SUB VAL "11": LET
IF a=VAL
Ty
385 LEMKE SOFTWARE DEVELOPMENT 2g : tEHERE ROUERS PROUBLY PRESENTS:
Presents the “066
70
oO B GS MA =
The CHECKBOOK/BUDGET MASTER is a checkbook database program and
a powerful home or business budget analysis program in one
compact/lightning fast program. CBBMN was written in BASIC and nil
compiled with the TIMACHINE Cby Novelsoft) Basic Compiler! ON EY HR HIN lle
Program Specification:
Database holds 600 checks Cwithdrawl or deposits)
Check Recall/Review by: Check Number, Month, Paid To ase aE P GPU laf ame Bl
Functions: REVIEW, LPRINT, DELETE, SUBTOTAL C+ or ~)
Budget Analysis: = User Defined Catagories + 2 '
eae aap y Sees eres STARRING LOVELY MISS BANNA BRITE
Assign S$ Budget to each category (for each month)
Automatically tallies EXPENDITURES as checks are filed The Ultimate Word Game
and INCOME as deposits are filed!
The all new MONEY MACHINE I
Update feature: change categories at any time, use the FEATURING :
UPDATE command to re-catalog checkbook files
NEW theme! !
OUTPUT: Tabular or Graphic format re - °
2040 printer or easy Full size printer mod. Fan tasti Cc Fami ly Funil
Get the CHECKBOOX/BUDGET MASTER program from LEMKE SOFTWARE “BANNA™ turning the letters
DEVELOPMENT Chome of the PIXEL SKETCH and GRAPHICS EDITOR v2.0
the only graphics program to cross the ADVANCED VIDEO MODE Hundreds of NEW Puzzles
barrier providing 32 column, 6% column, and extended color a
graphics!). CHECKBOOK/BUDGET MASTER and the PIXEL SKETCH and OAS 8 @ OF SG Players
GRAPHICS EDITOR v2.0 are each $19.95 ppd., get yours TODAY!
Checkbook Record 4 i, L t Fi i => F cr r a) Mm ly
Beg es — T/S 2068 —- a
j wasgtrte Check Moe: 37s2 Cassette y "ao i U 3 (US)
Cescription: KG&e
> adios AfsA.. Imctudées Postage-via Ist
669.24
Batance: $299.76
:
Monthly Budget Trends Etectric HERA Eiisi IFRS, 5
epoaG Unradsi1z re Circte
Chesapeasie, VA
PRone: 804 467-
z
9
Electric
his
ie
!
{
a A os
uy
‘4,
ebebengoers
tcl
c
OZO@DCCIDIAW
OANVOrPFe
S SHARHSDOREDA
» PPPDNDPPYPOOD
@ aagoosnnness
= Ce mts
SRReEPUNG it aiid # ACcOUNtiNa Si
25 GO SUB VAL "4000": POKE VAL "26703",NOT PI: POKE VAL “26704
",VAL "S": PRINT AT VAL "4",NOT PI; "PRINT text file.....2 en eene
eveep”™
28 PRINT : PRINT "SAVE text file... ..eeeeeeeneeeeds' s PRINT : P
RINT "LOAD text file....ceecsenccenee js PRINT : PRINT "MERGE te
Kt Ffile@wccccccenneenseeem's PRINT s: PRINT “RETURN to text file...
30 PRINT : PRINT "define GRAPHICS/printer.....-..g"s PRINT =: P
RINT "SAVE Tasword Twot....eeseceseeet": PRINT 3: PRINT “into BAS
ieee bs oan 8 PRINT r+ PRINT “EDIT help page(sd..se.
seater“
70 PRINT #SGN PI;AT NOT PI,NOT PI; "™ press key
80 LET a$=INKEY$: IF a$="" THEN GO TO VAL “80"
90 LET i=NOT PI: LET b=CODE a%: IF b<VAL "97" THEN LET b=b+VA
iz iti 32 ee
110 IF b=VAL "115" THEN LET i=VAL "6"
120 IF b=VAL "106" THEN LET i=VAL "8" ;
125 IF b=VAL “116" THEN LET i=VAL "16". . 4
130 IF b=VAL “112" THEN LET i=VAL "4" :
140 IF b=VAL "121" THEN LET i=VAL "12"
150 IF b=VAL “109" THEN LET i=VAL "10"
160 IF b=VAL "103" THEN LET i=VAL “i4"
170 IF b=VAL "98" THEN LET i=VAL "18"
175 IF b=VAL "101" THEN LET i=VAL "20"
180 IF i>NOT PI THEN PRINT AT i,VAL "S31"; FLASH SGN PI;CHRS b;
: GO TO VAL "Soo"
190 GO TO VAL "80"
200 CLS : GO SUB VAL "4000": PRINT AT VAL "4",VAL "8"3 "PRINT OP
TIONS": PRINT “ just press ENTER for default values given in
brackets"
210 LET i=VAL "8": LET jO=VAL "23": PRINT AT i,NOT PI; “Line spa
cing? ¢€1)": GO SUB VAL "6000": IF at="" THEN LET at="1"
215 POKE VAL "“62235",VAL até
220 LET i=VAL "10": PRINT AT i,NOT PI; "Start at line? ¢€1)3": GO
SUB VAL "6000": IF a$=""" THEN LET at="1"
230 LET c=VAL "64"*CINT VAL a$-SGN PI): LET b=c+FN pCVAL "62216
"): LET x=VAL “60045": GO SUB VAL "950"
240 LET i=VAL "12": PRINT AT i,NOT PIs "Finish at line? (last):
GO SUB VAL “6000": IF a$="" THEN LET b=a-c: GO TO VAL "250"
245 LET b=VAL “64"XINT VAL a$—c
250 RANDOMIZE USR VAL "59806": RANDOMIZE USR (FN pC(VAL "62472")
)
am}
£
ce
TASWORD TWO +
251 LET i=VAL "14": PRINT AT iyNOT PI;"No. of copies (1)": GOS
UB VAL "6000": IF a$="""THEN LET a$="1"
292 LET k=VAL a$
253 LET i=VAL "16": PRINT AT iyNOT PIs "Left margin ("s;PEEK VAL
"60927";")": GO SUB VAL "6000": IF a$<>"" THEN POKE VAL "60927"
»VAL at ;
260 CLS : PRINT AT VAL "20",NOT PI; "Press the q key to quit pri
nting"™
270 LET x=VAL "60049": GO SUB-VAL "950"
£77 Lt | C=PEER VAC’ SZ470" 9 IF “CCINOT PIV TREN CRYRINT CHAR® c
273 FOR i=SGN PI TO kz: PRINT AT NOT PI,NOT PI;"Printing Copy #
ily H i ; oe of iT) ; k
280 RANDOMIZE USR VAL "60038"
281 NEXT i
285 LET c=PEEK VAL "62471": IF c<>NOT PI THEN LPRINT CHRS c
290 RANDOMIZE USR VAL "59806": POKE VAL "26703",NOT PI: POKE VA
L. "26704",VAL "S": GO TO VAL "10"
300 CLS : GO SUB VAL “4000": PRINT "Printer control graphics ch
ars:"
305 LET b=VAL "4": FOR i=NOT PI TO VAL "15": LET b=ABS (b-VAL "
4"): PRINT AT it+VAL "4",b;i+VAL "128"sCHRS Ci+VAL "128")
307 FOR j=NOT PI TO VAL "3": LET c=PEEK (VAL "GO860"4+iXVAL "4"+
j?: LET aS=STR® c: IF c=VAL "255" THEN LET a$=""
308 PRINT AT i+VAL "4",VAL "10"4VAL "4"kj:a%: NEXT js NEXT i
320 INPUT "Type graphics character code 128-143 (ENTER if finis
hed)"; at
225 IF a$="""THEN GO TO VAL "400"
340 LET b=VAL a$: IF b<VAL "128" OR b>VAL "143" THEN GO TO VAL
"320" ‘ :
350 PRINT AT VAL "21",VAL "3"; FLASH SGN PIsbs; FLASH NOT rig? *
;CHRS b
355 FOR j=NOT PI TO VAL "3": POKE (VAL "60348"+bxXxVAL "4A"+ i »VA
L "255": NEXT j
360 FOR j=NOT PI TO VAL "3": INPUT “Code? CENTER if finished)";
a$: IF a%="" THEN GO TO VAL “300"
370 POKE (VAL "60348"+bxKVAL “4"4+j),VAL a$: PRINT AT VAL "21",VA
L "10"+VAL "4"%5;VAL a$: NEXT j: GO TO VAL "300"
400 CLS : GO SUB VAL "4000": PRINT AT VAL "3",NOT PI;"Reset int
erface/printer codes?": LET i=VAL "5": GO SUB VAL "920": CLS : I
F i=NOT PI THEN GO TO VAL "25" :
401 GO SUB VAL "4000": PRINT AT VAL "3",NOT PI; "just ENTER to k
eep values given: "
403 LET jO=VAL "27": LET i=VAL "8": LET J=NOT PI: LET a$="Inter
face control codet=": LET x=VAL "60924": GO SUB VAL "850"
404 LET i=VAL "9": LET j=VAL "18": LET a$="code2=": LET x=VAL "
62470": GO SUB VAL "8s50"
405 LET i=VAL "10": LET j=VAL "18": LET at="code3=": LET x=VAL
"62471": GO SUB VAL "850"
406 LET i=VAL "11": PRINT AT i,VAL "18"5 "code4="sFN pCVAL "6247
2"): LET i=VAL "12": LET jO=VAL "24": GO SUB VAL "6000": LET jo=
VAL "27": IF a%<>"" THEN LET b=VAL at: LET x=VAL "62472": GO SU
B VAL "950"
410 LET i=VAL "14": LET j=NOT PI: LET at="Printer carriage retu
rn="; LET x=VAL "60925": GO SUB VAL "850"
420 LET i=VAL "16": LET j=NOT PI: LET a$="Printer linefeed=": L
ET x=VAL "60926": GO SUB VAL "850"
430 LET i=VAL "16": LET x=VAL "58513": PRINT AT i,NOT PI; “Paper
/Ink control code=";PEEK x: GO SUB VAL "6000": IF at<>"" THEN P
OKE VAL "S8512",VAL "54": POKE x»VAL at: POKE VAL "5852i",VAL "5
4"; POKE VAL “58522",VAL at
490 GO TO VAL "20"
500 PRINT #SGN PI;AT NOT PI,NOT PIs" press the "s; FLASH SGN PI;
“ENTER"; FLASH NOT PI;" key to proceed";AT SGN PI,NOT PI;" pres
s “3; FLASH SGN PI;"c"; FLASH NOT PI;" to change the choice "
510 LET a$=INKEY$: IF a$="c" OR a$="C" THEN GO TO VAL "20"
520 IF CODE a$=VAL "13" THEN GO TO VAL "600"
930 GO TO VAL "510"
600 IF b=VAL "116" THEN GO TO VAL "700"
610 IF b=VAL "121" THEN CLS : GO TO VAL "10"
620 IF b=VAL "115" THEN CLS : GO TO VAL "1000"
630 IF b=VAL "109" THEN GO TO VAL "2000"
640 IF b=VAL "106" THEN LET a=USR VAL "59081": LET a=NOT PI: G
0 TO VAL "2000"
650 IF b=VAL "112" THEN GO TO VAL "200"
660 IF b=VAL "103" THEN GO TO VAL "300"
670° IF beVAL™ "101" THEN CCS"Y GO TO VAL "S000"
699 CLS : STOP
700 CLS : LET i=VAL "8": GO SUB VAL "800": LET at="tasword+": S
AVE até LINE VAL "15"
710 SAVE a$CODE VAL "54784",VAL "10751": GO SUB VAL "900"
7790 PRINT AT VAL. "19",NOT PI}
780 VERIFY a$: PRINT AT VAL "21",NOT PI;"tasword: basic O.K.3";
AT VAL "19",NOT PI;
7390 VERIFY a$CODE VAL "54784",VAL "10751": PRINT AT VAL "21",VA
L "20"3" m/code O.K.": GO TO VAL "25"
800 PRINT AT i,NOT PI;"Remove ear plug from cassette.": RETURN
“a
ee
Q2
850 PRINT AT i, jj a%;PEEK x: GO SUB VAL "6000": IF a$<>"" THEN
POKE x,VAL a
860 RETURN
900 PRINT AT VAL "8",NOT PI; "Reconnect ear plug, and rewind"; AT
VAL "10",NOT PI;"“and play the tape to verify";AT VAL “12",NOT P
Is;a%:z RETURN
920 PRINT AT i,VAL "4"s"press y for yes";AT i+VAL "2",VAL "11
Hs ars for no"
930 IF INKEY$S="n" OR INKEY$="N" THEN LET i=NOT PI: RETURN
940 IF INKEY$="y" OR INKEY$="Y" THEN LET i=SGN PI: RETURN
945 GO TO VAL "930"
950 POKE x,b-VAL "256"*INT (b/VAL "256"): POKE Cx+SGN PI), INT ¢
b/VAL “256"): RETURN
1000 LET b=FN pCVAL "62216"): CLS
1005 PRINT AT VAL "8",NOT PI;"Name of text file for saving?": LE
T i=VAL "10": LET jO=NOT PI: GO SUB VAL "6000"
1010 IF LEN a$>VAL "10" THEN CLS : PRINT AT VAL "12",NOT PI; "to
oO many characters - max is 10": GO TO VAL "1005"
1020 IF LEN a#=NOT PI THEN : CLS : PRINT AT VAL "12",NOT PI; “the
re must be a name": GO TO VAL "1005"
1030 LET i=VAL "12": GO SUB VAL “800": SAVE atCODE b,a: CLS
1040 PRINT AT VAL "8",NOT PIs "text file “s;a%3" saved: ";AT VAL "1
O",NOT Pl3as" bytes,",a/PEEK VAL "62237";" lines"
1050 PRINT AT VAL "12",NOT PI3;"do you want to verify “j;as;" ?":
LET i=VAL "14": GO SUB VAL "920": IF i=NOT PI THEN GO TO VAL "2
oO"
1100 CLS : GO SUB VAL "900": VERIFY aS$CODE b,a
1110 PRINT AT VAL "21",VAL "6"; "text file verified": GO TO VAL "
25"
2000 CLS : PRINT AT VAL "8",NOT PI; "type the name of the text fi
le"sAT VAL "10",NOT PI;"and press ENTER"
2010 PRINT AT VAL "12",VAL "2"3"just press ENTER to load the";AT
VAL "14",VAL "2"s3 "first text file on the tape"
2020 LET jO=NOT PI: LET i=VAL "16": GO SUB VAL "G000": PRINT AT
VAL "18",VAL "9"3"Play the tape"
2030 LET b=FN pC(VAL "62216"): LOAD a$CODE Catb),(CFN pCVAL "6222
1" +VAL “22")*VAL "64"—a): GO TO VAL "10"
3000 FOR i=VAL "23296" TO VAL “23361": POKE i,VAL "S2": NEXT i
3005 POKE VAL "23362",NOT PI
3010 PRINT AT VAL "8",NOT PI;"type word to be replaced / found"
3012 LET jO=NOT PI: LET i=VAL "10": GO SUB VAL "6000":. IF ag=""
THEN GO TO VAL "10"
3020 LET j=NOT PIs FOR i=SGN PI TO LEN at: POKE VAL "23297"+1i1,CO
DE aSCid: IF a$Cid=" " THEN LET j=j+SGN PI
3021 NEXT i
3022 IF j<>NOT PI THEN CLS =: PRINT AT VAL “12",NOT PI;"just a w
ord —- no spaces allowed": GO TO VAL “S3000"
3025 POKE VAL "23297",LEN as -
3030 PRINT AT VAL “12",NOT PIs "with Cjust ENTER for find only?":
LET i=VAL "14": GO SUB VAL "6000"
3040 IF at$="""THEN POKE VAL "23362",SGN PI: GO TO VAL "S060"
3050 FOR i=SGN PI TO LEN at: POKE VAL "23329"+i,CODE a#Cid: NEXT
1
3060 LET a=USR VAL "64955": LET a=USR VAL "64353": GO TO VAL "20
4000° PRINT AT NOT PIZ'VAL "fO"s"Tasword Twot";AT SGN PI,VAL "S";"
Tasman Software 1983";AT VAL "2",VAL "2" Mountaineer Softwa
re 1986": RETURN
5000 GO SUB VAL "4000": PRINT AT VAL "4",VAL "6"; "EDIT help page
(s)"3;AT VAL "7",VAL "4"5 "OPEN : iMain 2Extended";TAB VAL "4"; "
CLOSE: S3Main 4Extended"
5010 LET a$=INKEY$: IF a$=""" THEN GO TO VAL "5010"
5020 IF VAL a$<SGN PI OR VAL a$>VAL "4" THEN GO TO VAL "5010"
5030 IF as="2" OR at="4" THEN LET hf=SGN PI
5040 PRINT AT VAL "10",VAL "12" 3 FLASH SGN PI; “WORKING! "
5050 LET c=VAL "54784": IF hf=SGN PI THEN LET c=VAL "S63520"
5060 FOR i=NOT PI TO VAL "1536"
5070 IF at="1" OR at="2" THEN POKE (VAL "“SS280"+i1),PEEK (Cc+i)
5075 IF at="3" OR at="4" THEN POKE (ct+i)d,PEEK (VAL "S35280"+i)
5080 NEXT is LET hf=NOT PI: GO TO VAL "20"
6000 LET at="": PRINT AT i, j9; FLASH SGN PI;" "
6010 LET j=jO: IF INKEY$<>"" THEN GO TO VAL "6010"
6020 LET b%=INKEYS
6030 IF b#="" THEN GO TO VAL "6020"
6040 IF CODE bS=VAL "13" THEN PRINT AT iy j3" ": RETURN
6050 IF CODE b$<>VAL "12" THEN GO TO VAL "6170"
6060 IF j=j0 THEN GO TO VAL “6200"
6070 LET j=j-SGN PI: PRINT AT i»j; FLASH SGN PI;" "; FLASH NOT P
Is" ": LET at=a$C€ TO j-jO): GO TO VAL "6200"
6170 IF CODE b$<VAL "32" OR CODE b#>VAL "127" THEN GO TO VAL "6G
200"
6180 BEEP VAL ".005",VAL "S": PRINT AT i, j;b%; FLASH SGN PI;" ":
LET j=j+SGN PI: LET at=att+bs
6190 IF j=VAL "32" THEN PRINT AT i+SGN PI,NOT PI;" "“: RETURN
6200 IF INKEY$<>"" THEN GO TO VAL "6200"
6210 GO TO VAL “6020" :
7000 DEF FN p(x)=PEEK x+VAL "256"*PEEK (x+SGN PI)
J”,
2g
SOFTWARE
Oliger 2.1 Disk
System Update
Reviewed Gy Dick Waqner
The John Oliger Company is now delivering their
V2.1 EPROM for the SAFE disk system. There have been
quite a few reviews of the original V1.1 DOS including
the mother board, board "A" and "B", and NMI (non-
maskable interupt) switch add-on used for state-of-
computer saves. There has been an improvement in the NMI
switch part of board "B" and it is now part of the unit.
A disable switch is also added to this board. I added
this switch because of a problem experienced in making
cassette saves when an A&J I/F was in place. This switch
solved it. This review is intended to bring information
to the reader about the new V2.1 DOS EPROM commands.
The new EPROM V2.1 is available for $20 ppd. or the
user can send in the Vl.a EPROM for $15 ppd. and get it
re-programmed.
I must say that John has not let the V1.1 user down
in the least as it is possible to use ALL of those old
files. We can continue to use the old commands for
loading old files, but new commands are required to SAVE
to new FORMAT and to LOAD those saves. An old disk can-
not be saved on by this new system without proper
formatting.
The Following list of commands shows the degree of
file storage capability now built into SAFE DOS. It is
nice not to have to learn a whole new series of strange
commands as most of these are duplicate in action to the
cassette commands.
LET /S=n LET /T=n
LET /D=n LET /H=n
LET /P#0 & LET /P#T LET /P=0/B & LET /P=T/B
FORMAT /*FILENAME® SAVE /*FILENAME®
SAVE /*"FILENAME" LINE n LOAD /*FILENAME®
SAVE/@ LOAD or LOAD/@
SAVE /*FILENAME® CODE n,n LOAD /*FILENAME® CODE n,a
LOAD /*FILENAME® CODE n LOAD /*FILENAME® CODE
SAVE /*FILENAME® SCREENS LOAD /*FILENAME® SCREENS
SAVE /*"FILENAME® DATA X() LOAD /°FILENAME® DATA X(¢)
SAVE /*FILENAME® DATA X$() LOAD /"FILENAME*® DATA X$
SAVE /*FILENAME® VAL LOAD /"FILENAME® VAL
SAVE /"*FILENAME® ABS LOAD /"FILENAMES ABS
LOAD /n CAT
MOVE / COPY/
NMI (pushbutton save) RESTORE /*OLDNAME* TO "NEWNAME’
Several JLO commands have been added by using key-
words. For instance, the VAL command saves and loads the
BASIC program variables only. Thus, those variables are
not cleared on loading. Using ABS in the command, saves
everything as the old SAVE /n or NMI save does. These
files are retrieved by LOAD /"n" ABS where "n" is’ the
number selected for the save ID.
CAT is the catalog system used by V2.1 and is
Simple to use. The user can call up CAT on a disk witha
program in the computer without loss. CAT displays the
disk name (it must have a name, even " "). FORMATTED
shows the number of tracks, the total capacity in cyl-
inders, and bytes. FREE shows the number of cylinders
left. Cylinders are 5k blocks of storage. Also the dis-
play shows the file name, the basis the storage was made
on (STATE, BASIC, BYTES), the number of cylinders used
and the number of bytes in each file.
Some interesting operations are possible. File
names can be changed so NMI saves by number can be
changed to words later. NMI saves are memory hungry (at
least 49664 bytes). After a NMI save has been made the
file can be LOADed and then saved again as DATA, VAL,
SCREENS, and CODE desired. This may or may not’ save
cylinders of space, depending upon program length. Over-
writing isinteresting as the first time a name is' used,
the space in cylinders for that name is’ established.
Overwriting with a changed program may require more
space than first established. If so, you get a _ report
"FILE TOO LARGE". The old file is not lost nor do you
loose the new program. This requires a save under a new
name and if the disk lacks enough space a "DISK FULL"
report is shown. If a program is to be saved with an
identical name of a program already on that disk a TOOT
is given as a warning, and there is 5 seconds to cancel
the instructions with ENTER.
SAVE/O is still available and can be used to show
information not shown in CAT, such as 2068 or Spectrum
systems (works with both), special disk use such as
TASWORD, MSCRIPT, arcade games, utilities, ect. This
file will hold 1 1/2k of information.
This system is a pleasure to use and it overcomes
the major complaint about V1.1 system-limited number of
files. I have no experience with other DOS, so I can't
really make a comparison this way. John entered into the
development of V2 after extensive delays ocurred in ob-
taining the Ray Kingsley DOS. Ray has a preliminary DOS
operating and rumor has it, that the final system will
not be found wanting in features available to other
makes of computers. I was in hopes of obtaining Ray
Kingsley's system but felt that John's SAFE improvements
would do what I wanted with the drives I am now using.
One improvement I would like to see, is an ERASE
command to delete a file from disk. I tried saving an
empty file with an identical name/save basis. The file
appeared to be deleted, but the number of bytes was not
changed. Even an empty file must have an identical save
basis if this method is use.
For further information on the Oliger SAFE V2.1,
write to: The John Oliger Company, 11601 Whidbey Dr.,
Cumberland, IN 46229. Include a legal size S.A.S.E.
: a oe woe © oe
Reviewed By
I am sure that every BBS "addict" has promised with
each months growing phone bill, that they will cut down
on "calling"...only to do the same thing again the
following month...or wished for his/her BBS, so _ that
other "addicts" would call him/her instead! But, not
having disc drives, or money for high-priced software,
Owning a BBS seemed impossible.
Members of the Indiana Sinclair Timex User Group
felt the need for a dependable, low-cost BBS system, and
went to work. Now if you own an "“unexpanded" Timex
Sinclair 2068, a TS2050 modem, and a TS2040 printer, you
can operate your own BBS.
~The I.S.T.U.G. TS2068 BBS program loads in about 48
seconds from cassette tape, and uses just 8.5k RAM of
memory. It functions mainly in simple BASIC, with the
codeing hidden neatly in line 0. An easy to use SYSOP
editor, lets you establish the time and date. You can
quick scan the message base, Read, leave, or delete
messages, Load or Save the message base. You can return
to the SYSOP editor from anyplace in the program by
simply pushing [symbol/shift] STEP. A real time clock
keeps the time and date, and even advances the date at
midnight. The message base will hold 40 messages--535
characters long. Each message is stamped with the time
and date of when it was left. There is room for one _ to
four screens of bulletins. The system automatically
prints to the 2040 printer, the name of the caller, what
TS2eco BE=>
Ralpm McCcrum
messages they read (or leave), along with a "page" for
the SYSOP, and the elapsed time that the caller was on-
line. All of this makes it easy to keep records, and
manage your BBS.
The BBS callers have a quick scan option that only
lists who the message is for, and who it is from, and
the time/date of the messages. If the caller is in a
hurry, he can abort the scan and return to the menu.
There is a check time option, a "chat with the SYSOP"
option, and a "read users log" option. And of course,
a read/leave message option.
The I.S.T.U.G. BBS is easy to operate, and "crash
proof"...and most important.... dependable...providing
many hours of just plain fun. It comes with six pages of
easy-to-understand documentation, that takes you step-
by-step into big time BBSing.
The work of the software's programmer Paul Holmgren
(and BBS SYSOP, Willie Jones) can be viewed by calling
the I.S.T.U.G. board at 1-317-898-3903 (24 hours). Modem
settings: 7-l1-E OR, you can get your own copy of the
BBS program, by sending $16 (postage paid) U.S. funds
to: Willie Jones, 10126 E. 33rd Street, Indianapolis, IN
46236. When you order, you might mention to Willie that
you wouldn't mind recieving his "Burn graphics one-time
command" utility also...just to make it a little more
interesting.
COLOSSUS
SALe
Like it's namesake, the Colossus of Rhodes, Lemke
Software Development's graphic banner designer utility
"Colossus" stands head and shoulders above similar soft-
ware. Colossus contains features that heavyweight soft-
developer Broderbund Software has just recently added to
it's popular program "The Print Shop".
Because of the popularity of "The Print Shop", a
graphic utility for lesser computers than our beloved
TS2068, everyone knows what a "banner" is. "The Print
Shop" allows any of several type fonts to be used for
the message portion of the banner. It also permits a
graphic picture to be included in front of and or behind
the message.
What makes banners produced by "Colossus" different
from those made by "The Print Shop" is "Colossus'"
ability to include more than one type font in a_ single
banner and the option of placing graphic pictures any-
where within the banner.
There are, unfortunately, no graphic pictures in-
cluded with the program. The user must draw his or her
own. Fortunately, the program contains an option for
using redefined keys to print graphic symbols on the
screen.
There are twenty symbol keys, nineteen stored
graphics plus a blank space. Fourteen redefined keys
duplicate the shifted and unshifted graphic symbols. on
the 1-5 and 7-8 keys. The other six symbols include a
right triangle in four different orientations, a hollow
square, and a small, centered square dot.
The text can be typed into the banner in any of
three sizes and in two different type fonts. One font is
the standard TS2068 system font; and the other is a
calligraphy font called "Chancery". Either of these two
fonts can be modified to give a different look. The
modifying options are bold, modern, and italics.
Reviewed By Dumcan Teague
HaPpPy
Birthday
The effects of the modifiers are additive. One can,
for example, use bold-modern-chancery font or a modern-
italic-system font. All possible combinations of mod-
ified and unmodified fonts would give the user a_ choice
of sixteen different type styles to be used in any one
banner.
"Colossus" can store up to 1024 columns, or 32
screens, of data. It can horizontally scroll one column
at a time while you are working on the banner. Rows’ can
also be inserted or deleted. A portion of the banner can
be copied to another portion. In a similar manner seg-
ments of the banner can be erased.
Once the banner has been completed, you can view
your creation sequentially. The banner is scrolled from
right to left across the screen a selectable number of
columns at a time. A special feature allows you to set
the scroll rate at thirty-two columns, ome full screen,
every four seconds. If successive screens have been de-
Signed correctly, your banner is animated.
The banner can be printed horizontally on a_ TS2040
printer or on a full size printer. The only catch to
using a full size printer is that it must be supported
by Zebra Systems Inc.'S "ZPrint-80" print driver. My
C.Itoh Prowriter is not. Gr-r-r! Along with printing,
"Colossus" Saves and Loads banners via cassette tape.
A welcome piece of support software which would
complement "Colossus" and the previously reviewed "Pixel
Sketch and Graphics Editor" would be a utility for de-
Signing your own type fonts. I understand that one will
be published in the upcoming issue of TIME DESIGNS. I'm
looking forward to it.
"Colossus" is $19.95 and is available from Lemke
Software Development, 2144 White Oak, Wichita, KS 67207.
The program comes with two samples: "LSD-banner" and
"Animation".
“Tom
ACZ General Ledger
Reviewed By Dennis Silvestri
ACZ GENERAL LEDGER 2.000 is a_ small business
accounting system for the TS 2068 computer. This program
will provide the small business with the following
financial reports: Monthly and Year To Date Income
Statements, Ledger Detail, Balance Sheets, Chart of
Accounts, Trail Balance, and Journal Entries. This
double entry system has a maximum capacity of 800
entries and accounts per month in any combinantion and a
maximum of 150 named accounts. The program will calc-
ulate sums of up to $999,999.00. Printing of all trans-
actions is to the TS 2040 printer only. You can also use
the optional Cardco brand numeric keypad. This keypad
plugs into the joystick port and is used to speed entry
of numerical data. I am not familiar with this keypad
and did not have one available for review, so I am _ un-
able to say how much if any this keypad will increase
the entry of data.
There are two parts to this program. The system
"set-up" and the Transaction Entry. The system set-up
determines the format of the business financial state-
ments as well as the position of the accounts in all
reports and establishes Account Numbers. This’ set-up
routine also requires the user to make and save three
data programs, that must be used with the transaction
entry program. Helpful menu's and prompts guide you
along the way, while creating the set-up routine.
When the system set-up is complete you are ready to
Load in the transaction entry program and the tapes that
were created from the set-up. Not all three set-up tapes
are loaded together. What determines which of these
tapes are used depends on the following: If you are
using the system for the first time, starting a new
month, or adding additional transactions to the current
month. It is with this transactions entry that all
General Ledger Accounting is done including printing of
Financial Statements and Saving of all records. Again,
helpful menu's and prompts guide you along the way.
Since this program is only available on tape, there
is time lost due to saving, verifying, and merging of
the various routines. However, this is minor when
compared to the time it would take to format and enter
all transactions without the use of a computer.
ACZ GENERAL LEDGER comes with extensive docu-
mentation that can be read and understood, providing the
user takes the necessary time to thoroughly read it.
Included in the documentation are financial records for
a fictitious business. Before converting your books to
this system the user should work with the given example.
ACZ GENERAL LEDGER 2.000 is available from WMJ Data
Systems, 4 Butterfly Dr., Hauppauge, NY 11788. Cost is
$19.95 plus $3 for S&H.
BRICKWORKER
Reviewed By RR. Lussoai er
=S5S=555== == S52 S= S= S25
SS SSS SSS SS Se eS SSS
ESgsnsnsessseasa== 2
=== ==55
BRICKWORKER is a ntility-eype of program for those
who require help, or are interested in the "art" of
brickworking. BRICKWORKER will operate on either the
Spectrum or the un-aided TS 2068 computer.
The program contains illustrations of Bonding,
Foundations, Brickwork Calculator, Mortar mixes, and
Decorative finishes. The screen illustrations are good
and very useful. The program itself is written in BASIC
and is very User friendly...an overall good quality
program.
Another program that the same software company has
on. hand is called PAVEMASTER which deals with the design
and quantity calculation for constructing Patios and
Driveways, ect., using various sizes of paving blocks
and slabs.
If interested in such programs, then contact-
Konkrete Software, 6 Willowcourt Ave., Kenton, Harrow,
Middlesex HA3 8ES, Great Britain.
PRO/FILE Cartridge
Reviewed By Robert Fischer
Probably the most useful type of computer program
is the data base since almost anyone can find a need for
it and because it can be effectively 3 used without a
printer.
For Timex computers, Tom Woods haS twice provided
high quality programs in this field with ZX PRO/FILE for
the TS 1000 and then with PRO/FILE 2068. Just get out
old copies of Timex oriented magazines and newsletters
and you will find consistently high praise for these
programs.
Now Tom has a new version on cartridge for the TS
2068. This is much more than you may expect. Sure, it
loads instantly and has much greater capacity (37,000
bytes), but it also has many new capabilities.
First, let me briefly list the elements of the pro-
gram which are essentially unchanged. Each file can have
up to 15 lines of 32 characters each. Multi-word
searches are still available and the program is still
very flexible, easy to use, and very fast. Besides these
things, the improvements found in the manual which could
be added yourself are almost all included as is Tom's
machine code sort routine and a DATA save (thank good-
ness).
About the only negative changes are an extremely
small reduction in speed due to extensive bank switch-
ing and a reduced ability to make changes due to the use
of a cartridge, although you can make some.
Enhancements to the original routines include the
ability to calculate numeric information on any line you
wish (this refers to the TALLY routine in the original
manual), built in programming allowing a choice of seven
printer interfaces, the ability (when using a full size
printer) to print different file lines on the same line
of paper, TALLY information can be printed out in the
position you wish as well, and when adding more than one
file at a time, you can bypass the main menu.
Totally new routines include duplication of files
(saves time with files that are similar), separate sets
of files can be merged together, you can start a_ search
from any point in the files (useful when your printer
breaks dwon halfway through a search), and you can ad-
just the INK and PAPER for color or black and white TVs.
For those who wish to use an IBM compatible keyboard,
you'll be pleased to know that the cartridge includes
the necessary software. His documentation shows you what
hardware modifications are needed.
For those with special drive systems, you can make
the program exit to regular BASIC to permit saving on
these devices (instructions for a couple are provided as
examples). Of course, you can also write special BASIC
routines for other purposes as well.
All the above improvements are valuable and worth
the investment, especially if you don't have the ori+
ginal PRO/FILE 2068, but I saved the best for last. When
you input a search command, besides being able to search
for single or multiple words you can also perform a NOT
Search or an OR search! In fact, AND, OR, and NOT can
all be combined! The power this provides is fantastic
and as you use it, you'll wonder how you ever worked
without it.
For all of the following examples, I'll use situ-
ations I actually deal with in the band classes I teach.
The AND search is pretty straight forward. If I search
for "Flute AND l2th-" I would find only the flute
players who are seniors. If I extend it to "Flute AND
Beginning Z80 Machine
PARI ©12
=Syc
Editor: Those readers following along with Syd's Machine Code
-—«bendies, Should note that there were two textual ernons in the
Nov/Dec '&6 issue, that need to be corrected. Last paragraph,
first cofumn on page 19 should read, "the status of these bits 6
unimportant." The Last sentence of the fourth paragraph on page
20 should nead, "the onky flags affected ane the P/V and zero
flags. The P/V flag is neset if BC=0. The zero {kag is set to
Andicate a match, just as in a normal CP instruction."
This lesson we will discuss the stack and the instructions
which use the stack. What is a stack? A stack is simply an area
of consecutive bytes of memory which are used for storage by the
CPU. The CPU cannot operate without a stack. We will find that we
too can use the stack, if we are careful. .
Remember our earlier discussion of ROM, RAM and boxes? If
not, you need some back issues! Think of our CPU's stack as a
stack of boxes (memory locations). You can remove or add to the
top of the stack easily, but try to remove or add a box somewhere
in the middle and the stack topples. CPU's stack works the same
way except it grows down from the top as if the boxes were
suspended from the ceiling. Therefore, we actually add to the
bottom of the stack.
4
WyMnecaorf
be
12th- AND MB-" I would obtain all senior flute players
in the marching band (MB- is my code for marching bank).
That's pretty easy to understand.
The NOT search is essentially the opposite of AND.
To compare with the above example, if I search for
"Flute NOT 1l2th- NOT MB-" I would get every flute player
who is not a senior and who is not in marching bank.
Since I have instrumentalists who are in the color guard
during marching season, a more typical situation would
be a need to list only those marching band members who
are not in the color gurard. I just do this’ search:
"MB- NOT RIFLE NOT FLAG". It is a little unusual at
first searching from this opposite viewpoint, but it
soon becomes second nature and Tom explains it well in
the documentation.
The OR search is especially useful to me. Often I
do a printout of the band according to the section they
are in. Therefore I would first search for "Piccolo" and
when done, search for "Flute" and then "Clarinet", ect.
All those searches were annoying, but with OR I can
search for "Piccolo OR Flute OR Clarinent OR Saxaphone"
and the computer will print all the piccolo players
followed by flutes, ect. I'm sure most of you can think
of times you wished you had this capability.
The OR search can get a bit complicated when used
in combination with the other commands. Think of it as a
divider. For example, the command "Flute NOT 12th- OR
Clarinet AND 12th- OR Saxophone" would result in the
computer first finding every flute player who IS NOT a
senior. When this is done, the computer will find every
clarinet player who IS a senior. Finally it will find
every saxophone player. See how the use of OR divides up
the search command? If not, Tom explains it better than
I do and gives examples of what to watch out for.
Simply put, to me the new search capabilities alone
are worth the price and everything is just a bonus. I
strongly recommend it to anyone who needs to keep. track
of names, addresses, phone numbers, recipes, collections
or just about any other records you can think of.
The PRO/FILE Cartridge for the TS 2068 is priced at
$59.95 plus $1.50 for postage, and is available from the
author, Thomas B. Woods, PO Box 64, Jefferson, NH 03583.
Code
gg
een TE rss
~ fe oy S
There is a special register inside CPU dedicated to keeping
track of the stack. Its mnemonic is SP which means Stack Pointer.
SP contains the address of the last location on the stack.
All information on the stack is stored in the usual two byte
format used for addresses. We can place information on the stack
(PUSH) or remove it from the stack (POP). Our friend CPU auto-
matically adjusts the SP with each operation by the required two
bytes. It is important to realize that even though SP is adjusted
to point to the correct location (box), the information is still
there until it is overwritten. See Fig.l to make this clearer.
The PUSH and POP instructions can add/remove information
to/from the stack and any register pair. For instance, if we wish
to stack the contents of the B register, we need to PUSH BC. We
will have also stacked the C register, since we must use a
register pair.
Last issue we learned the CALL instruction. It uses the
stack to save the value of PC in order to know where to return
to. In effect, CALL executes a PUSH PC, JP to new location and
complete the subroutine, and then a POP PC (Ret) and _ continue
executing the program from the byte after the CALL instruction.
The next instruction is Ld SP,HL. This is a simple assign-
ment instruction. Whatever value held in HL will be copied into
SP, not the stack. Remember, most instructions assume all values
on the stack to be valid addresses, even if they are data, so it
is important to know where SP is.
The last instruction affecting the stack is EX (SP),HL. It
will exchange the contents of the address referenced by the SP
with the value held in HL. Assume HL + 1040h and SP = 9050h and
address 9050h = 59 and address 905lh = 68. After the EX (SP),HL
instruction is executed, their new values will be; HL = 6859h,
SP = 9050h, address 9050h = 40h and address 905lh = 10h. Notice
that SP is unaffected. However, the contents of the last stack
entry are changed.
This is a good time to introduce the other exchange in-
structions. They are all fairly easily understood and are listed
in the chart. Note that an exchange merely swaps the contents of
the affected registers and no others, neither are any flags
affected, except for the EX AF,AF' instruction. The EX AF,AF'
exchanges only these registers while the more general EXX ex-
changes BC, DE & HL with BC', DE' & HL’.
These exchange instructions do not actually change the
register contents. Consider the EX AF,AF' instruction. The AF
register becomes the AF' register and the previous AF' register
pair becomes the new AF register pair. This is important as_ the
contents of registers can be stored out of the way for later
retrieval. It also means we must be sure of which set of
registers are in use.
The EX DE,HL instruction is very useful and will exchange
the contents of DE with the contents of HL. This is the same as
if there had been an instruction to Ld DE,HL and Ld HL,DE without
disturbing any of the values. A series of PUSHes and POPs would
be needed to accomplish the same result. For example, lets
EX BC,HL (there is no such instruction):
NEW BOOKS Ben AS NEW YEAR!
RNG ENTERPRISES
pEsPes Pets si oesosss 0003639550685 098;
“94643 ROM MANUSCRIPT
By DR. LLOYD DREGER OF SMUG is a FULL DISASSEMBLY of the
—- 2068 ROM, with notes and comments. If you are into MC
programming on the 2@48, this is one volume that will serve
you well! Over 200 pages of information with an index to
routines with starting addresses in both HEX and DEC!
Also includes a full cross-reference to SPECTRUM ROM!
Qur price is only $14.95 plus $2.50 ph.
INTRODUCTION TO 290648
MACHINE CODE PROGRAMMING
Also . DR. LLOYD DREGER OF SMUG (SINCLAIR MILWAUKIE USERS
GROUP) is the first of a proposed 2 book series on this
subject. This one has A LOT if information that has not been
explained too well up to now. Again, over 200 pages of
_ educational material. Written to be used as a sel seed
course in beginning MC, we feel that it is well worth the
money! Also only $14.95) plus $2.50 ph.
SPECIAL!!!
BOTH BOOKS—-ONLY £30.06
PLUS $3.00 PH!
PUSH BC SEND TO:
PUSH HL RMG ENTERPRISES
POP BC 1419 1/2 7TH STREET
a OREGON CITY, OR 97045
003/ 655-7484
TUE-SAT 14 AM TO 10 PM
Figure 1
a ee ee ee SS ST CLASS MAGAZINE
oe contain the address 8000h, that, the SP is ra — 4 an iae Becokthrounh far the t/5 20BB
gg - BL sa ruc Sar tes “aca n the nae . aaa A hajor bP Ppoug a) @ ~
fonncacnn | 3 two gtack locations, 61FDh and 61FCh, ad —T EYTE FOWEF. a highly sophisticated
1-06 | Beg Br’ wice, sheroby making SP = Sitch CFE conputerized nagazine on cassette.
Bee ee ohn ig
ee ! best adjusbed,- tocationa €190h and 617Dh No longer will you have to type in long,
Ree ieee eee fastidious prograns... JUST LOAD AND FUN
aa earre es ' operation.
ie : BYTE FOWERK is the ultinate nagazine for the T/5 2068. Each tape
RS RIES is full of prograns, a real 1/5 20668 owner’s drean.
soaoo LITT Trt | aoa cse | am a
24021 TALE EEE THEE Ht Ht tee BYTE FOWER is a software based magazine with over 130 prograns
861406 CE Qt per year, nost of then in fast Machine Language. Frograns such
BAVA LILLLLLL LLL ET LILLE LLL [405 as TALKING CLOCK, EASYuord word-processor, GRAND FRIK a Jl! race,
sea ec ALLELE HEHEHE HHT Tee and SSP CSnall Screen Painter) are sone exanples of the high
TOPUY MUMUUULSERRBREUELEBREIABESUEEGERRIET: quality prograns published in BYTE FOWEK Magazine.
garasa CTT TVs cso |
28 48 SERATHAATEGHRGALGGEGGASTIEGLLG 0c 29 BYTE POWER brings you this quality progranning at a very snall
mes OPE EEE Sask se cost, LESS THAN J9 CENTS 4 PEOGEAM, based on 1 year subscription.
SE48E TIT oF oF :
42 22 SERA EGHHGGESIHLGTLGTINGLUGLILG : Flus you get softuare aid Harduare reviews and tips to help you
ns 506 TTT LLL LEE E LT P5075 design better progranst |
VUES MAGAUHUOOELOGOIGOOOHTONEGOCHRAURISS:TC:
TTT ESESMME |G MONTH SULSCHIFTION CB IS8URS) LLL $p8 80
AE) O06 mb is SUESCEKIE | Stace seus es thee *
91234567 89ABCDEF@123456789ABCDEF
An ‘e Ak , fara § Ber ae oer ee CO a ae ae
robe first 9 digits from nearest ode 2 YEAR SUESCHIPTION (24 ISSUES). LLL 809/99
D-File addresses are not in brackets
A-File addresses are in the brackets All prices ee US FUNDS.
SEN! CHECK OF MONEY OKTER TO
Push rr ! Ex AF,AF’
La se HL , x DE HL bYTE POHET:
Ld SP, nn | Ex (SP),HL 1748 Meadowview 4dvenue, —
— Pickering, Ontario, Canada L1V 368
Dec SP
Note that the information was moved from the stack into a
different register pair than it originated from. This is a _ very
useful tool to have at our disposal. However, we must be aware of
what we are doing or we may find ourselves expecting data at a
location other than where it ended up.
You will no doubt have noticed that I have rater laboriously
explained the many instructions we have learned up to this point.
The truth of the matter is that I have been trying to walk the
fine line of too much detail/not enough detail. I hope there has
been enough to get you started without boring anyone.
We now have enough instructions to begin programming. I
firmly believe the only way to learn any language is to use it.
With that in mind, we will concentrate more on accomplishing some
task and less on the instructions. I must assume that if you are
still with me, you have by now acquired some good books to
Supplement your learning.
We will need to be able to "see" if our programs are com-
pleting the task as we desire, therefore, we will initially write
programs that will affect the display file. This will necessitate
two separate discussions, as the TS1000 and TS2068 each handle
their display files differently. You may wish to skip the section
which does not pertain to your computer, but I think you will
find it beneficial to read.
Before we jump right into it though, we need to look at’ the
Sinclair manual again. Towards the back of the manual you will
find a section on the system variables. These are variables used
by the Basic operating system to keep track of various items.
Many of these will prove useful to us and several others are
required to be under our full control. I. will use Sinclair's
names and explain each one as we need it. You should take a
moment to review this section of the manual as we will become
comfortable with many of the system variables.
Timex Sinclair 1000
The display file (D-File) is arranged as 24 rows of 33
characters. The last character in each row is an _ end-of-line
(EOL) marker, which is CHRS 118 (the code for Enter). In
addition the very first character is an EOL marker. We must never
ever overwrite any of the EOL markers. If we overwrite any of the
EOL markers, the system will crash!
This description only applies to a fully expanded system
(greater than 3.25k). The D-File is collapsed to 25 EOL markers
in a smaller system. I will assume yours is fully expanded.
Since the D-File moves about in memory as your Basic program
expands and contracts, its location is held in a system variable
known as none other than D-File. This means that we can always
locate the D-File with the instruction Ld HL,(D-File).
The easiest way to print to the D-File is to use the RST 10h
instruction as that is where Sinclair has placed the print
routine. RST 10h will print whatever character is in the A
register. Enter the following to get a full screen of asterisks:
Listing 1
@E16 Start Ld C,18h ;line counter
G628 Loop1 Ld B,2@h ;characters/line counter
3E17 Loop2 Ld A,17h ;character to print
D7 Rst 1@h ;@O print it
10FB DJNZ, Loop2 ;until line is full
@D Dec C ;count one line done
2OF6 Jr NZ,Loopl ;another line?
cg Done Ret ;return to basic
While RST 10 is the easy way, it is only a minor improvement
over Basic. That's because we are using the same routine as Basic
uses. The advantage is that we didn't have to keep track of the
EOL markers.
The fastest way to print to the screen is by direct pokes,
even from Basic. Enter the following for an almost instant screen
fill:
Listing 2
2ASC46 Start Ld HL, (D-File) ;get D-File location
GE18 Ld C,18h ;line counter
23 Loopl Inc HL ;get past EOL
Q620 Ld B,2h ;characters/line counter
3617 Loop2 Ld (HL),17h ;poke character onto screen
23 Inc HL ;advance print position
10FB DJNZ, Loop2 ;80 do again?
OD Dec C ;count one line done
20F5 Jr NZ,Loop1i ;do another line?
C9 Done Ret ;return to Basic
You should have noticed that this method allowed printing on
all lines. There is a system variable, DF _SZ, which can be poked
from MC or Basic to allow full screen printing, however, the
system can be easily crashed if not properly handled. Also, the
number 17h can be any printable character code.
Now for an all purpose, generic print routine:
*;
—
>
Listing 3
1A Print Ld A, (DE) ;check for EOL marker
FE76 Cp 76h
2001 Jr NZ,NoEOL
3 Inc DE ;get past EOL marker
TE NoEOL Ld A, (HL) ;g@et character to print
FEF Cp FFh ;check for end of text
C8 Exit Ret Z ;and return if reached
12 Ld (DE),A sprint it
23 Inc HL ;advance character pointer
13 Inc DE ;advance print position
18F3 Jr Print ;do it again
The print routine is useless by itself. Upon entry, HL must
contain the address of the first character to print and DE must
contain the address in the D-File to print at. Enter the
following routine to understand how you would set-up HL & DE and
Call this routine at Print.
Listing 4
2AQC4@ Entry Ld HL,(D-File) ;get D-File location
EB EX DE,HL ;into DE
219041 Ld HL, Text ;get address of text
;address assumed to be 410@h
CD8248 Call Print ;@O print message
;address assumed to be 4%82h
cg Done Ret ;return to basic
And now a message must be stored at 4100h. Enter these hex
codes to address 4100h:
Hex Dump 1
39 2D 2E 38 88 2E 38 88 26 GB 39 2A 38 39 1B
02 2E 02 38 3A 37 2A OB 2D 34 35 2A OB 2E 39
02 ©@ 3C 34 37 38 38 1B FF
Note that the print routine requires a terminating byte FFh
in order to exit. Our test should now work with the command Rand
Usr Entry.
Timex Sinclair 2068
The D-File consists of 192 lines of 32 bytes/line for the
character information and 24 lines of 32 bytes/line for the
attribute information. The last 768 bytes are known as_ the
Attribute File (A-File). The D-File is fixed in memory at address
4000h and the A-File resides at 5800h. We will discuss the A-File
at another time, as its purpose is to hold the color attributes
of each character square. We will therefore not be using the
A-File at this time.
The organization of the D-File is not what you would expect.
Each character is eight pixels by eight pixels (one character
square). The eight pixels across fit nicely in one byte, hence
the 32 bytes across each line. The problem is the eight bytes
needed to make each character are not stored consecutively.
Looking at Fig.2, you can see that the D-File is split in three
sections of 64 lines each. Within each section, the eight lines
which comprise each character are 256 bytes apart (8 lines * 32
character spaces). The junction of two sections is where there is
a difference as the sequence begins to repeat. Study Fig.l to
make this clear. I am told this unique structure has _ something
to do with the way in which a TV draws its scan lines. Since I
understand very little about the hardware, I must claim ignorance
and accept this explanation.
This means that the easiest way to print to the screen is by
using RST 10h, which is where Sinclair chose to start an all
purpose print routine. Once again though, things are not as_ easy
as they would seem. The 2068 uses channels and streams to direct
the traffic (we will discuss channels and streams later). This
means that we must be sure we know where we are directing the
output of RST 10h or else we will have no idea where it will end
up.
We can
many of
are already
Do not allow the D-File structure to put you off.
still write to it if we understand its structure. Also,
the routines we will need to help us handle it,
located in the ROM.
Let's try a simple print using RST 10h. Enter Listing 1 from
the TS1000 area above and run it with ,Rand Usr address.
You should get Error 5 on running this one. Notice how the
bottom line is printed and scrolled. Probably: not what you ex-
pected. We could call the channel open routine to fix this, but
there is an upper/lower screen flag that can be temporarily set.
If we reset bit 0 of TVFlag, we can print to the upper screen.
Insert as the first two instructions:
213C5C Ld HL,TVFlag ;get TVFlag address
3682S Ld (HL) ,@@ ;reset flag
Now run the routine. Works great! A much better way is to
only affect the bit needed. This requires the instruction
Res 0,(IY+02), which we have not learned yet. You could also have
achieved the same result with the first routine if you ran it
with Print Usr address. This sometimes leads to undesireable
results, therefore, we will always use Rand Usr address or Let x=
Usr address.
Lets attempt to poke a character directly onto the screen.
It cannot be done in one easy step as was the case with the
TS1000. We must now resort to a complicated routine such as:
Listing 5
C630 MakeC Add A,3@h
ED4B365C Print Ld BC, (chars)
;offset to make number
;a@ printable character
;find character table
he es Push HL ;save character location
2688 Ld H,@@h ;transfer character
6F Ld L,A ;to HL
29 Add HL,HL ;multiply by 8
29 Add HL,HL
29 Add HL,HL
Q9 Add HL,BC ;get offset to character
;data in table
EB EX DE,HL ,;address of data to DE
ZAB@5C Ld HL, (Store) ;we are storing address
;in D-File to print at
;in store :
G68 Ld B,@8h ;# of lines/character
1A Loop Ld A, (DE) ;@et pixel data
77 Ld (HL),A >poke it to D-File
24 Inc H ;adjust print pointer
13 Inc DE ;adjust data pointer
10FA DJNZ Loop ,;are we done? loop back
;if not, to complete
21B@5C Ld HL,Store ;get and adjust print
34 Inc (HL) ;position
El Pop HL ;retrieve char location
C9 Done Ret
,one character printed
This routine is worthless without some data to print and
another routine to set-up the registers and call it. Notice that
there are two entry points. Print is the normal entry, however,
MakeC is used to print a number without having its character code
(as in raw data, instead of text). The unused location of 5CBOh
FROGRAMMING CONCEPTS gy aiperte
The following article deals with programming ona Sinckain 7X8]
(on TS1000). It 48 just a portion of a Large document, with the
nemainder to be published in the next issue of TDM, along with a
program Listing. The Listing 46 a game program, "ZX81 TIC-TAC-
TOE", which will serve as the chiefs example and will be discussed
extensively. If readers would Like to get a "head start", a
complete Listing of the program, declarations and array content
ane available for $6.20 pod.; on a cassette is available (non-
Listable) for those who don't want to key in the program, {rom
the author. Albert F. Rodriguez, 1605 Pennsylvania Ave. #204,
Miami Beach, FL 33139.
on $1 for the Listing).
This article was meant to be an exercise in learning about
the actual aspects, functions and limitations of the Sinclair
ZX81 microcomputer and it's version of the BASIC language. It
also provides a tool for finding if, given the technology of this
machine, quality software could be produced, and if indeed so,
how would someone do it.
First of all, a word of caution to the reader about what
lies ahead is in order. Some of the concepts presented in this
article, which pertain to programming habits and techniques, were
borrowed from works by other parties. Careful attempts in this
article have been taken to clearly credit their ideas to each of
them. However, the integration of these ideas into a concise
whole, as well as any derivations of new ideas thereof, is only
this writer, who does accept full credit and responsibility for
this work.
As a novice I must say that I was oblivious to the most
basic aspects of writing a program using the ZX8l: Space and
Time. Both of these elements are usually, but not always,
directly proportional. The less available programmable memory
used, the less time it should take for a program to either
execute or transfer from cassette to the computer.
The load time for my program ZX81 TIC-TAC-TOE (which we will
look at later on) is 4.17 minutes, without any special hardware
assistance. It is saved, self-runs and executes in FAST mode. The
actual RAM occupied by the program is 10535 bytes. How this
figure was determined reveals a relevant proceedure about pro-
gramming with this machine.
Both the ZX8l1 and the TS1000's User Manual fail to discuss
how a given amount of RAM programmable memory can be measured in
order to determine the total amount of it available, how much is
used, and how much remaining for programming.
It is well known that a byte is a memory location that, when
active, is holding either blank space, numerical or alpha-
numerical characters. Given as an example, a machine with 16k of
(Foreign buyers add $2 {or the cassette,
ae
lines and 32 columns, then there are only
grammable memory locations (i.e.; only 736 programmable bytes)
available in the display file. The other (1024-736) 288 bytes in
the display file are found starting with the first line after the
cursor line in the work space area and consist of
lines each having 32 columns. If then, we subtract 288 from 16384
we obtain the total available bytes--16096--that can be used
before the machine's entire programmable memory becomes full.
in the system variables area stores the address of the next print
position.
Upon entry to Print, we need to have the character to be
printed in A. The HL register points to the character to print
and needs to be preserved while Print is executing. Also, note
that the program expects the data string to end with a byte con-
taining FFh. Enter the following routine to set-up the registers
and Call Print for a test. Your command to execute is Rand Usr
Entry.
Listing 6
218048 Entry Ld HL, 4@@0h ;lst address to print
22BO05C Ld (Store),HL ;at into our variable
2130875 Ld HL,Data ;data string address
;assumed to be 753Gh
TE Loop Ld A, (HL) ;g@et character
FEFF CP FFh ;is it the end of
;String yet?
c8 Exit Ret Z ;ret if so
CDOBES Call Print ;e¢lse go print it
;Print assumed to be
;at 828Gh
23 Inc HL ;advance char pointer
18F6 Jr Loop ;get next character
And here is the data as a hex dump:
Hex Dump 2
54 68 69 73 20 72 6F 75 74 69 GE 65 20 77 69 6C
6C 20 6F 6E 6C 79 20 70 72 69 GE 74 20 69 GE 20
6F 6E 65 26 74 68 69 72 64 20 6F 66 20 74 68 65
20 73 63 72 65 65 6E 20 61 74 20 61 6E 79 28 22
74 69 6D 65 2E FF
Be sure you have used the same addresses or change them to
suit. If any address is not correct, you may crash.
Well, that's all folks, See ya next time. Syd Wyncoop,
SE 155th St., Portland, OR 97233.
2107
Rodri quex
RAM: that is turned on, and is not exhibiting a program, plus the
fact that lk is equal to 1024 bytes, we would expect that it's
total available programmable memory is (16 X 1024)...16384 bytes.
Yet the display file constantly occupies 1k of memory, even when
it is providing nothing but a blank screen with a cursor (for
this piece of info, I am grateful to Memotech Corp., Denver, CO
80227). Hence, a blank screen actually represents 1024 bytes of
memory occupied by character spaces.
If the programmable area of the screen consists of only 23
(23 X 32) 736 pro-
(288/32) 9
To determine the amount of programmable memory used by a
program, the following expression should be placed as the last
line of a program and executed with a GOTO from the immediate
mode :
9999 PRINT PEEK (16404)+PEEK (16405)*256-16597;" BYTES"
(In part, for this expression I am grateful to Ms. Toni Baker,
"Mastering Machine Code On Your ZX81", Reston Publishing Co.,
1981, page 30.) The figure 16597 was determined by taking the
starting address of the program area (16509) then adding to it
the bytes occupied by this expression (66) and 22 more bytes
occupied by another expression (described below) that reveals the
amount of programmable memory remaining.
In determining how many bytes of programmable memory re-
mains during, or after a program is being (or was) composed...the
following expression should be placed as the first line of a
program and executed from the immediate mode by the statement
"PRINT USR 16514":
1 REM E@RNDLN ACS : FAST AT 5 = GOSUB PI FAST AT TAN
(For this expression I am grateful to Dr. Ian Logan, "Bytes Re-
maining--8k", SYNTAX, Vol.2 No.12, Dec. 1981, page 5). With this
expression I obtained 5559 bytes of memory remaining after
finishing my ZX8l1 TIC-TAC-TOE program. My memory used (10535)
plus my memory remaining (5559) equals 16094. If, however, we add
2 bytes occupied by the cursor sign, then we have the exact sum
(16096) of the total available programmable memory for a 16k
machine that was mentioned earlier.
Another pertinent phenomenon I realized about both time and
space, while writing my program, was about how the ZX81 uses it's
available memory to store and manipulate data and the effect of
the same on processing time.
My primary concern while writing my program was whether I
could fit it all within 16k of RAM. I strived to make my routines
as concise and as frugal as possible with respect to the utili-
zation of memory. Consequently, my programming impetus was _ to
make a program that was primarily a space maximizer: "Do all that
you have to do, with what you have, in the least amount of space
that you can."
It was the inadvertent pursuit of this maxim and the fact
that I happened to be reading Chapter 3 of Mr. Randle Hurley's
book, "The Sinclair ZX8l: Programming For Real Applications"
(available from Time Designs), that made me become aware of the
fact that less space utilization does not always result in less
processing time required for a program or routine to execute
properly.
It would be redundant (and beyond the scope of this article)
to reiterate the fine explanation that Mr. Hurley provides in his
book, as proof, of why the ZX81 sacrifices processing time at the
expense of storing and manipulating more accurate data, than say
it's forebear the ZX80. Its suffice to say that the ZX81l pays for
these new capabilities in terms of more time and less’ speed
during processing.
It should, therefore, be a priority of 2ZX81/TS1000 pro-
grammers, who use BASIC, to accomplish their programming ob-
jectives by using instruction-code techniques that minimize
memory consumption while simultaneously mzximizing (or at least
not minimizing) processing speed.
In his book, Mr. Hurley identifies five important techniques
that were helpful toward obtaining an optimum memory-cost-to-
processing-speed (MC/PS) ratio when I wrote my program. Though I
did use most of these techniques in writing my program, I cannot
honestly claim that each part of my program represents the most
‘variables, unnecessarily occupy space both
optimal acheivement of said ratio. Nonetheless, they were em-
ployed enough to make somewhat of a positive effect on processing
Speed and memory savings.
First, there is an advantage in using numerical variable
names versus using numerical constants within code expressions.
The savings in memory costs can be as much as 40% while still
maintaining a faster processing speed. It is for these reasons
that all of my subroutines, within my ZX TIC-TAC-TOE program, are
called via a respective variable name. This technique also helps
to easily access a particular routine in the program for purposes
of editing or debugging.
Second, one of the most important aspects about my program
is that it requires and makes plenty of use of FOR/NEXT loops.
How these loops are structured can have a significant effect on
the MC/PS ratio. how they can be made to optimize this ratio is
a matter of determining the instruction-code placed inside this
kind of loop structure, which will use the least amount of memory
to accomplish the necessary accurate manipulation of data with
the least amount of loop repetitions. Specific examples that
illustrate this principle can be found in Mr. Hurley's book on
page 36.
Third, another benefit regarding how to preserve processing
speep while saving memory is in how values are calculated with
FOR/NEXT loops containing different arithmetic functions. For
example, values determined by power functions tend to take longer
to compute than if either multiplication or addition were used
instead (Ibid., page 36).
Fourth, a substantial optimization of tthe MC/PS ratio
results by initializing numerical variable name constants, in the
immediate mode, versus listing them within the programming area.
For both memory costs and execution time are augmented when these
in the instruction
area and the variable store. If entered via the immediate mode,
they will still be saved on tape; so, why list them in the in-
struction area again?
Finally, Mr. Hurley's book briefly mentions that where a
subroutine is located in a program can affect the MC/PS ratio
(Ibid., page 37). Routines (that differ only by size of their
line numbers) at the beginning of a program use less memory, but
are slower in executing; whereas, those further down the program
execute faster but use more memory.
More programming concepts next time.
ZX81 Data Acquisition Module
Tim Stoddard
For a long time now I have shied away from using or
designing circuits that use A/D converters. I've always
figured that they were too difficult not only to build,
but also align and set up. So in this issue I've de-
cided to take a stab at an A/D converter for the TS/ZX.
I picked the TLC548 as the work-horse for a few
reasons: it's cheap ($6.95), it's easily obtained (Radio
Shack #276-1796), it's fairly fast for an inexpensive
converter (8 micro-seconds conversion typical), it's
CMOS, and it looks quite easy to interface to the TS/ZX.
(I found out later on that it's easier to interface than
I thought! The entire circuit only took me three hours
to set-up, from design to working prototype.) The
technical info that comes with the TLC548 really helped
to speed the design. This circuit is based on the one in
that tech sheet, although re-designed for the TS/ZX. The
software is again based on the example in the tech sheet
but re-written for the re-designed hardware.
The Sinclair's architecture for I/O is’ rather
complex, ironically, because Mr. Sinclair was trying to
keep the hardware design simple! The Z80A used in the
TS/ZX is capable of 256 I/O ports using address bits
O-7. However, in order to keep circuit parts count down,
the Sinclair's I/O is only PARTIALLY decoded. That means
instead of decoding all 8 I/O address bits to come up
with an address to read the keyboard, Sinclair only used
bit 0 to select the keyboard whenever it is a _ logical
zero, and IGNORES ALL OTHER BITS. So, any EVEN I/O
address (bit O=logic zero) will read the keyboard. That
eliminates using all even addresses for external de-
vices. Bit 1 is also used within the computer, when it's
a logical zero, so we can't use that bit either. The
TS2040 printer is also partially decoded by selecting
bit 2=zero and bit 7=one, so if we keep bit 7=zero, then
we can use bit 2. The 2050 modem is completely decoded
and uses ports 73 and 77 hex. You'll note that they keep
bit 7=zero and bits O & l=one to avoid selecting I/O
Operations in the computer or in the printer. In our A/D
converter we will use port 67 hex which will avoid
conflict with any of the common peripherals.
You can make this project simple or complex de-
pending on the options you decide to use. ICs 8-19 are
optional. To wire up just one channel all you need are
ICs 1-7. For two converters just add IC8, and wire up
the second half of IC5. You can continue to add A/D
converters as shown in the schematic, up toa total of
eight. The pin connections on the left side of IC7 are
common: to all A/D converters that you connect up. For
multiple converters, this circuit is more complex than
using an ADC809 converter from National; Semiconductor,
but that converter takes 10 times longer for each con-
version than does the TLC548. So for spéed's sake the
Slightly more complex circuit is worth it.
Looking at the schematic #1, ICl & IC2 serve to
decode the I/O address and form the proper read and
write signals we will need to access the A/D converters.
Ic5 is used as a simple output port to "select" the A/D
Continued Next Page.
converter that we want to read. Note that upon power up
or reset IC5 will be preset, deselecting the attached
A/D converter. IC7-ICl4 are the converters. IC3 is a
tri-state buffer used to read the serial conversion data
from the TLC548s. IC6 is the A/D converter supply and
reference.
Schematic #2 shows how you can use the other port
commands that happen to decode from IC2 for a_ general
purpose I/O port. IC18 can be added if you want a
general purpose input port (input 63H) and ICl9 for a
general purpose output port (out 63H). You could also
use that port for any other project you may have in
mind. If you can wait until next issue, my next article
will be using port 63H for a D/A converter.
To begin an operation, we first select one of the
converters by writing port 67H (the "H" designates hex)
with the appropriate bit=zero and all other data bits
set high. For instance, to select converter #0 we write
port 67H with FEH (binary = 11111110). So, to select
converter #1 we would write port 67H with FDH (binary
1111 1101). After we have selected one of the converters
we then can read the PREVIOUS conversion results from it
in SERIAL form. [So after selection, data bit 7 of the
result is available from the data out pin (pin 6).] All
we need to do is issue a read port 67H instruction and
IC3 will put the serial bit on to bit O of the data buss
for the Z80A to input. IC4 inverts the read port 67H
Signal so that at the END of the read port instruction
the low-going signal will cause the TLC548 to send the
next bit out by toggling the I/O CLOCK pin (pin 7). All
we need to do in the software is READ PORT 67H, SHIFT
LEFT, READ PORT 67H, SHIFT LEFT, ect., until all 8 bits
have been read. Then, at the end of the operation, we
de-select the A/D by writing port 67H with FFH (binary
= 1111 1111). You can deviate from the circuit when
selecting a regulator for IC6. I used a 723 because I
have a lot of them, and they are readily available. The
overall accuracy of the converter is based on this
regulator since it supplies the reference voltage to the
converter. You could also leave the regulator out and
use the regular five volt supply, but accuracy would
suffer. The TLC548 is an 8-bit converter. This means
that it can "dissect" the voltage being measured by 256,
and this would be the smallest measurable voltage. For
instance, if the reference voltage is 2.56 volts, then
the maximum measurable voltage would be 2.56 volts and
10
m CHANUELS FOR gOS To
— 5.1% vors
+W -@2)
el
7@
: ade
§.12 youTs
ooo
SCHEMATIC # 4 ®
A/D CcOnvERTER,
- To & CHMWELS parf BvSS pam BUSS pm Buss
BT @ Br L gir 7
the smallest would be 2.56/256 or .0l1 volts. This would
be an ideal reference because each count would be .0Ol
volts. However, the tech sheet indicates that “un-
adjusted errors may increase if the differential voltage
Vref+ to Vref- falls below 4.75 volts". So we need
something greater than 2.56 volts to keep accuracy up.
If we use 5 volts this would give us the smallest
measurable voltage 5/256 or .01953125 volts---a rather
hard number to work with. Looking again at the tech
sheet you'll see we can supply up to 6 volts in normal
operation. So if we use 5.12 volts this would not be too
high for the other logic and it would give us 5.12/256
or .02:volts as the smallest measurable voltage---an
easy number to work with. Why use the 5.12 as the supply
voltage too? If we use the TS/ZX 5 volt supply to supply
vcc to the TLC548 and the 5.12 volts as_ reference
voltage only, we would be violating one of the specs for
the TLC548. Page 4 of the sheet, the line that states
"Positive reference voltage, Vref+ (see Note 2)", this
states that the max Vref+ that can be supplied is VCC +
-l volts. We would be .12 volts over VCC.
The following ML routine can be poked into the
first REM statement and will give you the PREVIOUS con-
version results each time it is accessed. The routine
uses relative jumps so it can be placed anywhere. Just
remember to add 6 to the starting address of the routine
to obtain the address to change the converter selection
byte.
LD B, 08H 06 08 06 08 ; initialize counter
LD -C,0 OE 00 14 00 ;Cclear result register
LD A,FEH 3E FE 62 254 ;select converter
OUT 67H,A D3 67 211 103 ;via out instruction
LOOP: RLC C CB 01 203 01 ;shift result register left
IN A,67H DB 67 219 103 ;read converter bit
AND A E6 01 230 O1 ;mask off bit 0
OR C Bi 177 ;or result register to new bit
LD C,A 4F 79 ;put new result into result
register
DEC B 05 05 ;decrement bit count
JR WZ,LOOP 20 F5 32 245 ;if bit count>0 continue
LD A,FFH 3E FF 62°- 255 ;de-select all converters
OUT 67H,A D3 67 eii--iGs ;via out 67 instruction
RET C9 ;return to BASIC
Grey & Clifford
BE MeMsURED
T1C 543
(oPpTIONA 0)
COMPUTER PRODUCTS
Ed Grey
(213) 759-7406
SALES AND INFO.
Dave Cliff ord
(213) 516-6648
TECHNICAL INFO.
P.O. Box #2186
INGLEWOOD, CA 90305
LARKEN
DISK DRIVE py-g7
wamtennunn (OOO
- LDOS on Eprom supports Basic Programs, Code blocks and Arrays
- Commands are-DIRECTORY,LOAD,SAVE,FORMAT, DELETE and EXIT
Up to 52 files per disk - Directory is DOS maintained
Can be modified to work on either computer (eprom and cable req)
The most Powerful DOS for the ZX-81 : Very User Friendly
2068 version is Spectrum Emulator Compatible: Extra commands
Requires double sided 5.25" drive ‘60 day money back guarantee
Prices: $95.00 (US) for single drive . $99.00 for 1 or2 drives
Tor OF EDGE $4.00 for drive cable (all other cables included)
Coe aes include $5.00 shipping : Send certified cheque or M0.
Sornst of GE To- LARKEN ELECTRONICS
CommecTOR (specify ZX-81 or 2068) RR#2 NAYAN ONTARIO
tn en
CANADA K4B-1H9
The following is a BASIC program that shows
usage
of the ML routine above.
1 REM 123456789012345678901234
1000 PRINT AT 12,0;"AD1="; AT 12,16; "AD2=";
1004 POKE 16519, 254
1005 LET A=USR 16514x. 02
1006 POKE 16519, 253
1007 LET B=USR 16514x. 02
1010 PRINT AT 12,5;A;AT 12,21;B;
1020 GOTO 1004
Poke the assembly language routine starting at
16514 which is in the REM statement. Then run the _ pro-
gram and it will continiuously read conversions from
both A/Ds.
Lines 1005 and 1007 show the usage of the routine,
Simply call the routine as a USR funtion and multiply
the count returned by .02. Of course, if you decide ona
different reference voltage, then you would multiply by
the result of this formula: Vref+/256.
Location 16519 contains the converter selection
byte layed out as follows:
YOU MUST SELECT ONLY ONE CONVERTER AT A TIME! A
ZERO in the bit location selects that converter, and a
ONE deselects it. There should be only ONE ZERO in the
byte at location 16519 when selecting a converter. This
selection method allows up to eight converters to be
used while only using one I/O port!
Layout is not critical, however, use. a large enough
perf board to allow for expansion. My next article will
include the addition of a D/A converter to this board,
using port 63H. I used a Vector P178-1 tool and the heat
vaporizing wire to wire mine up on a perf board, and
using one of the Zebra Systems Inc. edge connectors. Hot
glue works great for attaching the IC sgcrete and edge
connector to the perf board.
Most of the parts can be obtained at Radio Shack,
Jameco, or JDR Microdevices who all advertise in most of
the electronic journals. The Zebra edge connectors are
$5.95 each (Zebra Systems, 78-06 Jamaica Avenue, Wood-
haven, NY 11421), or you can cut a 50 pin wire-wrap edge
connector down to the 46 pins required using a fine saw
or small cutting disc attachment on a Dremel Moto-tool.
| If you have any problems, or even if you don't,
drop me a line and let me know how you made out. Tim
Stoddard, 85-48 66th Road, Rego Park, New York 11374.
BIT? BIT6 BITS BIT4 BIT3 BIT2 BIT1 BITO CompuServe ID# 73127,2664.
CONVERTER # 7 6 5 4 3 2 1 0
TOD
7415 6p SCHEMATIC #2
1g 3
+p OPTIONAL PORTS
ro. 3 M13 RD 63
* it DR 63
7 @
PARTS LIST
IC1, 1C2 74LS138 —-
1C3 74125 1) it — "
Ic4 74LS04 D7 2 1g GN) 3 V 2 D7
= ~_ 2 Fs wer :
IC? TLC548 Ds <j 74Ls 2) ms + i
eee g| 24+ hee 374 {a ae
OPTIONAL PARTS ae P Ss ae - ae
7 Sees
1C8-1C14 TLC548 D2 - me ee mee =
1C15-1C17 74LS74 You'll need 1 for every 2 TLC548s £ 5) x Dt
= se ee a
1C19 TALS374
TS 1000/1500 PROGRAM CHAINING
FART
FIVE
| =
Emaril iv.
In the previous episode of this series, the use of
an endless tape with a chained program was presented. I
failed to mention that the tape recorder could be left
running while the program is being used. The maximum
access time for the next module would be one minute for
the one minute tape or three minutes for the three
minute tape. Due to the manner in which these tapes
operate, just how long it would take before the tape
failed, when used in your own recorder, is a matter for
you to investigate. The best method of using a chained
program on endless tape, if your tape recorder has a
jack for an external motor switch, is to leave the re-
corder on play and use a foot switch (Radio Shack #44-
610 $2.99) to turn the motor on and off. This’ same
method could also be used, if the entire program re-
quires more than a three minute tape or you do not wish
to use an endless tape, by recording the modules several
times on a regular tape. Using the demonstration program
Dummi mgtom
as an example, you would record the modules as_ follows:
RT, TE, PRT, TE, PRT, TE, PRT, ect.
Even those readers with only a 2k RAM, now have a
basis for a full-featured word processor, a file program
or a data base by adding additional modules. One of the
first would probably be a SAVE/LOAD module. Because the
data (text) is stored above RAMTOP and BASIC on this
computer does not have a command to SAVE or LOAD data
from this area, a machine code program is required. Un-
fortunately there are only so many ways to write a_ pro-
gram like this and they have been published and copy-
righted, precluding me from presenting a listing in this
article. A data SAVE/LOAD program was published August
1984 in the now defunct SYNTAX. A similar program is in
David B. Wood's book "Machine Language Programming On
The Timex/Sinclair" from Siriusware. For thoe readers
who have a ZX81 or TS1000 with at least 16k RAM and who
do not mind losing some storage space above RAMTOP, as
the program itself occupies 2k RAM, there is a faster-
than-normal SAVE/LOAD from anywhere in memory program
available from Zebra Systems Inc. (Z-XLR8 Cat# GRO4 $11
plus $3 for postage). According to Zebra, this program
will not work on the TS1500. Perhaps one of our more
accomplished Z80 Assembly Language programmers could de-
velop some pokes to this program for the TS1500.
Additional modules you might wish to add to the
chained program could be Text Corrections, Cut and
Paste, Right Justification, Letter Heading, and Search
modules. the tree modules presented in the previous
episode were developed strictly for demonstration pur-
poses, feel free to use them, as is, or changed in your
own program. In order to do this, you should know how
the value for RAMTOP and the variable B were determined.
For a more detailed explanation of the procedure
involved, please see "Adventures In The RAM Jungle"
(Sept/Oct '85 to Jan/Feb '86 issues of TDM). This method
for determining the Upper and Lower Limits of the Safe
Area will not work when there are expanding un-dimen-
Sioned strings in the program, due to the random use of
the Spare Area of the RAM by the ROM routine. The Wicked
Wizard of ROM strikes again!
The Spare Area of the user-available RAM is located
between the top of the Calculator Stack and the bottom
of the Machine Stack (see page 128 of the TS1000 or page
154 of the TS1500 User Manuals). When the computer is
turned on, the addresses in this area are filled with
zeros. Upon loading and running a program from tape, the
Calculator Stack expands upwards and the Machine Stack
downwards into the Spare Area leaving, what I call the
Safe area untouched. The Upper Limit of the Safe Area is
easily determined, as the Machine Stack leaves a_ trail
of values other than zeros as it contracts upwards. De-
termining the Lower Limit is more difficult, because as
the Calculator Stack contracts downwards it either re-
places the zeros when RAMTOP is set above address 19711
or fills the addresses with the values stored in the
Safe Area just above the Lower Limit, if RAMTOP is’ set
to 19711 or less, an INPUT command is in the _ program,
and the DELETE command is used to correct the input. The
Wicked Wizard does not play by the same rules all of the
time! In addition, when RAMTOP is set to 19711 or less,
the computer is in the minimum display file mode and as
characters are printed on the screen, the display file
expands, pushing the Calculator stack upwards. There-
fore, in the case of the demonstration program, we
cannot allow the program to be listed when determining
the Lower Limit of the Safe Area.
The number of bytes in the Safe Area plus 36, of
the module requiring the most memory in order to operate
determines the address to which we can lower RAMTOP and
Still have both the entire program and the computer
operate properly.
I must admit that having a TS1000, I set RAMTOP to
2k (address 18432) and developed the TE module first, as
I expected it to require most memory. The text in this
imo DM
4
J
ig
L.
i
:
a
a4
==
‘=
+ i.
Ly
a a
LC
= ae
re
Ls
‘3
—_
we!
ee ~ -
oT os
ry
OT fad pe oT TT
’ sos Putte
oom
SUB
LOAD "
RETURN
FORE
2 POKE
2 ace
ida *
Go
See,
fit
J) O01
ri rt ; 1 f
On Bea
te
ROUTINE TO SET RAMTOP TO i?
FIGURE 4
403
NO.
AO
case being POKEd to 18433 and above. I then determined
the Safe Area for that module. Next I programmed the PRT
module, also with RAMTOP set to 2k, and determined the
Safe Area for it. Then I programmed the RT module so
that it would not move RAMTOP from 18432, as otherwise
the Safe Area for that module could not be determined.
However, in order that those readers with only 2k RAM
can follow the method used in determining the Safe
Areas, we will work with RAMTOP set to ik or address
17408.
Here is some homework to be done in preparation for
the conclusion of this series. You will need a tape that
is blank on at least one side. Turn on your computer and
set RAMTOP to address 17408 by entering the following
immediate commands:
POKE 16388,0
POKE 16389,68
NEW
To check that RAMTOP has actually been moved, enter the
direct command:
PRINT PEEK 17407
The result should be a 62 printed on the screen.
Load the TE module from your master tape, your op-
erating tape, or type in the TE module from the listing
(Fig.2) on page 16 of the Nov/Dec '86 issue of TDM.
Change line 180 to read:
180 LET A=VAL "17409"
Enter the direct commands:
CLEAR
DIM TS$(32)
LET B=18401
The variable B used here was computed for 2k RAM, but
can be used with larger RAM for the purpose of de-
termining the Safe Areas. After checking the program
against the listing, record the TE module on tape using
the direct command:
GOTO 140
To clear the computer enter NEW and either load the
PRT module from your master tape, your operating tape,
or type in the listing (Fig.3) on page 16 of the last
issue. Change line 140 to read:
140 FOR N=VAL "17409" TO B
Enter the direct commands:
CLEAR
DIM AS(1)
LET B=18401
After checking against the listing, record the PRT
module, as the next program on the tape, using the
direct command:
GOTO 10
To clear the computer enter NEW. The RT module must
not be loaded from the operating tape, as it would
change RAMTOP. It must be revised so that’ it will not
move RAMTOP from 17408 in order to determine the Safe
Area of this module. If you recorded it along with lines
141 to 144 on a master tape, you can load it into the
computer without running it. Otherwise, type in the
listing from page 16 (Fig.1) of the last issue. See if
you can make the changes to set RAMTOP to 17408 without
referring to Fig.4 in this issue. Check the program very
carefully against Fig.4 and then use the direct command:
GOTO 141
To poke the machine code into the REM statement, delete
lines 141 to 144 , as they are no longer needed to save
memory. Record the module as the next , piege ae on the
tape, using the direct command:
GOTO 10
When the diagonal LOAD lines appear, use the BREAK key
and stop the tape. Enter the direct command:
‘PRINT PEEK 16388+256*PEEK 16389
If all is well 17408 will be printed on the screen.
Label these recordings as preliminary. They will be
used to demonstrate the method of determining the Safe
Area of each module and the minimum address to which
RAMTOP can be set. This will be covered in the con-
clusion of this series of articles.
Happy Letters
A Teaching Tool For Young Children
Using Soumdct!:3>. And Graphics
With The 2x8S1/7TS
Syr Gale Hensl ee
This program generates a random character, either a
letter or a number, and displays it on the screen, en-
larged to eight lines. The Player presses the matching
key on the ZX81 keyboard and is rewarded with a "Happy
Face" and a song. A wrong response gets a "Sad Face" and
a beep. You also get a beep each time a key is pressed.
The program is suitable for teaching young children the
keyboard. My daughter, aged 2% years, finds it very
entertaining and has mastered the alphabet and numbers
on the keyboard. It required very little encouragement,
just a willingness to load and supervise her play.
To play, you need.a ZX81 or TS 1000 with at least
2k, and an external amplifier (example: RS Mini Amp Cat.
#277-1008B). A "real" keyboard helps, but is not re-
quired. Young children have much better: results on a
keyboard than on a Sinclair membrane.
The sound is generated by the MC routine in -line
zero. This routine is from a program by Neal Bridges,
which appeared in TS USER, Vol.1 Nov.7. You must be in
FAST mode when calling this code or it won't work. Sound
output is via the microphone jack, and frequency is con-
trolled by the values POKED in locations 16519 and
16520. Duration of the tone is controlled by a delay
loop (see lines 605 to 640).
To enter the program, first enter lines 700 to 750.
Then enter a REM statement (line 1) with 38 characters.
RUN and list the program. If it looks OK, then POKE
16510,0 to change the line number to zero. SAVE and then
test as follows: First hook up the amp to the MIC output
from the computer. Turn on the amp and turn up the
volume until you hear the 60hz hum. (NOTE: you can also
hear the music without the amp by turning up the TV
volume very loud or placing a transistor radio near the
computer, tuned to a very weak station.) Second, FAST,
followed by RAND USR 16514 should produce a_ short beep
and a horizontal pattern of bars across the _ screen
Similar to the loading pattern. The error code _ should
return 0/0. Now, enter the rest of the program, lines 10
to 690. SAVE it...and then RUN. Correct any errors, de-
lete lines 700 to 750, and SAVE the final version.
One final tip is in order. You can break into the
program by pressing the SPACE key. I had to make a card-
board space guard to keep my daughter from breaking out
every few minutes. It seems that getting Daddy to fix
the 'puter is almost as much fun as her "Happy Face"
program.
I can make a copy of the program for anyone who'll
send a good quality tape, and a S.A.S.E. to: 4411 West
2nd St., Amarillo, TX 79106.
FOOHLET AS="ZHQRZEQITLOSSaCSRS
FODSC4 OC 1DEFECDSCAOS020EESS20E30
SO4¢GSSSRS GF ECCODCEOLLSFS"
765 LET B=16514
PiG FOR W=1 TO LEN Ag STEP é
720 LET AS{CODE ASIN} -25) 216+c0
DE AS IN+1} -25
728 POKE 6,4
748 LET B=6+1
75@ NEXT WN
Ay
1TQ00O/ 1500
ies)
ved |
ie
Tie a)
vd
.
De ee Se oe
Tr
Cee fe Pa Rs
at)
ATT EE) B P fee n Pae ee ~
pet Des ee ee ee Oe en oa ss se at cs
TOCA CA CAA CA DOT) fe fa fn fn fn fn fe foe fe fo See eC Le PUT TU Ue Ee DS PP Pe PP Pee Pe Po pee pee pee pee pecs pce pee pete pate
RUSE CTE A eT 0) Fe oP ee Ut PED fe et Bee tht be Be a Ed
ACTED a CD a a Ea ae FP be td a
CAC CCA Cn CIC Cn ec oT ey
WO DT CD B® Fe et
REM AWT®*® 84g PEEK COPY Lt!
a Be a — irae oe ee fei ee Co
Hi 6¢<= FCI UnTS LH BIRDS INU
DIM TAN 2€$C*®#( RETURN £8005
We
RAND
FRET
ee
, ry See ee
LET AS=CHRS (INT (tRNDs36: +2
LET €s=CObpE As
FOR H=8 To F
LEY FPsPEER ({FTeeaa4+tCsS4+H
Let Vsi2s
FOR G-=8 To F
IF F<éli THEN GoTo Les
PRINT AT 4,5; "3°
LET Far -il
PET sities
Kier ecm oe
Mit a
HEAT
nor ome EE
IF INKREYS$=""° THEN GOTO 228
LET =*SEEbDeE IENKEY $
PRS
LET YsullsaR LesSid
LP INKEYS <3" " THEN GOTO 225
ome ae 3s | oS er YP as =>
Pile FPS
LET FPSPEER iFeta+xeS+H
PET site
— 37: (Oak i a a —™
7 rs ee oe fe
TF Féti THEN GOTG 265
PRINT AT H,.iB4+5: 'S"
LET PsP —-il
LET 30 se
HExT i
NEAT «A
IF x&=0 THEN 07S 4838
es mais = rack
‘Ss us Neas* Sit Li , | Ll ee
POR H=8 Toa F
FRINT AT H, Le;
HESXT H
GAT Pee
PRINT AT it.1a@:;" Ss ="
= ’ i; ¢ Fs . S33
PRINT AT 14,18; 8 =
PRINT AT 15,.18;" ¢ #* =,
— ee ~ a = a o = te
PRINT AT 165,10," es os
PRINT AT 17,18;" § *—_* #°
PRINT AT 13,18;° "a="
GOSUB 8228
= nti i
wo! te 4.” 88
PRUISE 223
GOTO 29
PRINT AT 13,108; ' =
PRINT AT 14,18; :
FRINT AT 15.16;° | 3 .}
FRINT AT 16,18;° ="s ai
PRINT AT 17,.310;" yg #*f'
PRINT AT 18,10; -"Sage™”
FR
PORE Lesis,3
Le? xX=sUsSeR iss5i4
FORE iTeSis,e
SLOW
FHUSE Tea
RETURN
FRET
SO hs Te 3
FOR N=i 20.5
LET xX=sUsre {esia
HET
HExT
PORE beaSis.s
PORE Tatsse,irs
wh eS CES ee ct ee
LET XstiSR 26514
HExXT
FORE LeaSais.e
PURE 26528, 32
och ee we
RETURN
ALSO AVAILABLE FOR THE T/S 2068
POWERFUL AND INEXPENSIVE BUSINESS SOFTWARE
FOR ZX81, T/S1000 and T/S1500 COMPUTERS
ZX-TEXT
ZX-—TEXT
COPYRIGHT (c)
ALBERT F. RODOR
SELECT AN OPTION
»WRITE
»REAC /EDIT
»PRINT
“ANSWEF BY ENTERING A NUMBER"
A word processor is to a computer user
what a typewriter is to a typist, except that the
former has more advantages than the latter.
ZX-Text can operate in 16-64K RAM providing
from 1300 to 6500 words per document. It
features 6 different options: write, read, edit,
print, save and clear text. Text is written on a
per-line basis with quick speed and with
horizontal back-space and delete capabilities
being available. You can also access the
editor directly from write mode and vice-versa.
Text can be proof-read on a per-line basis
allowing for enough time to determine if any
editing is needed. The text editor allows a line
of text to be deleted, inserted, replaced and
listed for editing. You may also change a word
Or expression within a line, stop or start text
while it is scrolling up the screen, begin
reading text from the first line of the file, re-
enter write mode from the editor, return to the
main-menu or create a window so that you
can read-edit two files simultaneously. The
print option takes text displayed in 30-column
format on the screen and outputs to either the
ZX/TS printer. (With Memotech’s Centronics
Parallel interface 80-column and lower/
higher - case output is possible.) Files may
be saved on tape cassette with the use of
one single commana, or by the same token they
can be erased from memory / storage so that
the full capacity of the program can be used
for other purposes such as composing letters,
reports, articles, memos, standard forms,
instructions, ads, graphs, telephone
directory, lists of Customers, rmmembers,
friends...etc. Also copies of files are always
less expensive and easier to run than using a
photocopier. Other advantages are savings in
time, paper, ink, correcting mistakes and
adding afterthoughts more efficiently than
doing them through either handwriting or
using a typewriter.
$16.95
ZX-CALC
tc — fi. RODRIQUEZ
-* exiutias asset
BUDGET
HeEE PHHEHE % % #
HAN re
RENT
PONG
PPROD*
»
PUNO DVO
vy
RA
Waa
QAYrPSAgapaus
De
LP PDR PROD
UAYRARUAAGKUS
1
2
3
4
5
6
7
8
9
0
1
2
3
4
bE)
7%
ASSESS ARES EA ER EASE ES EES SRE ES:
-ECr OP
BENTER/ERASE - CALCULATE
: @ CLEAR
An electronic spreadsheet calculator is the
fundamental basic tool for summarising, reporting
and analyzing in matrix form any accounting,
mathematical or scientific manipulation of num-
bers. ZX-Calc operates in 32-64K RAM and affords
a Maximum of 3360 characters / spreadsheet. The
entire matrix consists of 15 columns (letters A-O)
and 30 rows (numbers 1-30) with 8 characters /
cell. Unlike other popular ESCs, ZX-Calc uses in
calculations and within cells all 14 math functions
on the ZX-81/TS1000. It offers a unique *SUM
function that totals one or more rows/columns
simultaneously. Parenthesis can be used within
equations. There is no fixed limit on how many
equations may be entered. Formulas may be
stored in all 420 cells of the spreadsheet. The
display affords 15 rows/colums. Loading of data
into more than one cell can occur across/down
one or more row/column simultaneously. With
vertical windowing you can arrange a set of col-
umns in any order, or practice using fixed-variable-
alignment display formats. The menu offers 6
options: enter / erase, move, calculate, print, save
and clear the spreadsheet. Enter/erase allows
the entering, deletion or data alignment within a
cell through the use of a mobile cursor. With the
move option you may move around the entire
sreadsheet to access any row, column or cell.
The calculate option allows you to enter labels,
values or formulas into a cell or write and enter
equations that will act uponthe data already within
the spreadsheet. You can also enter bar graphs
into acellinthis option. Absolute /relative replica-
tion, down/acrossacolumn/row, is alsoallowed
by this option. Also this option allows the auto-
matic calculation of the entire spreadsheet with
one single command. Print allows youto outputto
either the ZX/TS printer the entire spreadsheet by
column-sets and row-pages through use of the
COPY command. The entire spreadsheet may be
saved on cassette tape or you may clear all data
frorn it or erase the program from RAM entirely.
The most salient advantage provided by an ESC
over specifically vertical applications software is
that an ESC provides a reusable framework with
which you can compose any specific financial
model rather than just be limited to only one stati-
cally fixed format for storing, displaying and
manipulating numerical data.
$16.95
ZX-CALENDAR
APPOINTMENT MADE
WeyNGSB 04717784
Pra EVAN REED, CAREER
i" 8:30 A.M,
MOL Welel SAB 1-2 HOUR
nt a ages SAL ZEDO ST .4. NO.
; G. 1392
®); INSIDE OUTSIDE SALES
ERLAND STORE $35 ,000/YR
‘BIL INGUAL PLUS.
Time management is an important aspect of
any serious business and personal agenda.
Planning how to spend our time leaves us better
prepared before and while we are spending it
and we remain better organized after we finish
spending it. ZX-Calendar operates in 16-64K
RAM affording 25 appointments in 16K, 100 in
32K or 180 in 48K and 64K. Each
appointment record holds a maximum of 220
characters. The main menu includes enter,
search/check/sort, change, save, clear and
print any and all appointments made on a
specific date or with any party. Output to either
the ZX/TS printer is permissible. This program
will permit you to remember to do something or
to be somewhere important by cataloging your
answers to six questions that you must account
for in order not to waste time when it is scarce:
when, with whom, at what time, for how long,
where and what are you going to discuss and
conclude when you get together with someone
else? The program lets you permanently
originate, record, classify, search, sort,
Calculate, modify, summarize, obtain a written
report and store your answers to the preceding
questions so that you will not forget what you
decide to do with your time. This program
identifies your time according to when you are
going to spend it and with whom you are going
to share it. Through these forms of labeling
appointments you are able to verify or modify
how your time is budgeted without wasting ink,
paper or more time trying to remember what you
said to yourself or what someone else said to
you or where you placed certain written
messages that you now can't find. With this
program you will know where you can find
exactly what you need to know about where you
want to and have to be, or where you have been,
before you get and after you got there. Thus, ZX-
Calendar will let you plan your time so that you will
never have to worry about what is ahead or what
came before, for you will always know, by using it,
to never be caught astray by any time-frame.
$16.95
$3.00 SHIPPING AND HANDLING/PROGRAM
A.F.R. SOFTWARE - 1605 Pennsylvania Avenue, No. 204 - Miami Beach, Florida 33139
DEALER INQUIRIES WELCOME (305) 531-6464 FLORIDIANS ADD SALES TAX
L-1 © 1984 | :
AZ
RESOURCES FOR
GREAT BOOKS FOR YOUR SINCLAIR
OFFICIAL 2068 TECHNICAL MANUAL..........$25.00
CONTROL THINGS with your
Timex/SINClair Dy R.L. SWATTS.......csssesssesescssesees
ZX81: Programming for Real Applications
SF CRTC a ecctctecceirncctccccesstesconas
Includes 12 Software Programs
on a Cassette Tape
Build a Microcomputer - Controlled
Robot by B.C. Taylor
““Control
Things”’
and
€¢ 7X8 l 99
Package
For Only
$10.00
Still
Only
$15 Year
Six Issues
a
Sc, ae \* “| TRY A SUBSCRIPTION
late TODAY!
YOU NEED
“TAKING THE
QUANTUM LEAP”
By Mike de Sosa
The Ultimate Resource For
Your Sinclair QL
AVAILABLE SOON!
Published Exclusively By TIME DESIGNS
Write or Call for Information
YOUR SINCLAIR
FROM TIME DESIGNS MAGAZINE COMPANY
TIME DESIGNS MAGAZINE
BACK ISSUES
$3.00 EACH
Nov/Dec 85 VOL.2
Jan/Feb 86
March/April 86
May/June 86
THE BEST OF TIME DESIGNS |
VOLUME ONE |
July/August 86
sept/Oct 86 TIMEX
Nov/Dec 86 VOL.3
The Best of TIME DESIGNS
Volume 1
$10.00
= TIME DESIGNS MAGAZINE
Volume One Issues are no
longer available individually
(See ‘BEST OF TDM’’).
Subscription - One Year
TIME DESIGNS BACK ISSUES
Specify Which: $3.00 each
THE BEST OF TDM Vol. 1 $10
TS 2068 Technical Manual $25
Control Things With Your
Timex Sinclair
ZX81: Programming for Real
Applications (includes tape)
SPECIAL PACKAGE DEAL:
Both “Control Things” and ZX81”
Build a Microcomputer
Controlled Robot
Taking The Quantum Leap
(Available February 87)
WE PAY THE POSTAGE TOTAL
ON ALL ORDERS!
FOR MAGAZINE SUBSCRIPTION (please circle one below}:
SHIP TO:
= . PAYMENT
Check or M/O.
ADDRESS _ —— ~ VISA and
MASTERCARD
CITY/STATE
. ACCEPTED
4 “=
VBA (MasterCard |
PHONE ——
24 hour ORDER LINE
PLEASE PRINT NEATLY. (503) 824-2658
CREDIT CARD , For Books, Subscriptions
(Circle One) and Renewals
MASTERCARD / VISA
Acct. Number
Exp. Date
Signature
Note: 4% charge added to all Credit Card Orders.
TIME DESIGNS MAGAZINE CO.
29722 Hult Rd., Colton, OR 97017
the
CLASSIFIED
FREE ADS FOR
PEN PALS WANTED: I'm going on
Active Duty in the U.S. Navy and
I would like pen pals so as to
keep up on my "hobby". User Groups
individuals, ect. I program TS
1000, 2068, QL, ZX Spectrum also.
Also interested in MIDI. Dave
Johnson, 2399 St. Rt. 95, Edison,
OH 43320.
FOR SALE: QL, Sinclair Monitor
and Printer. Memory boards, soft-
ware, new blank cartridges, various
QL books, QL technical manual,
Spare power supplies, ect. CALL
for prices and details.
(603) 352-9836.
FOR SALE: Timex Sinclair 1000
computer in Metal Sloping Cabinet,
with keyboard, power switch,
Westridge modem, Aerco Centronics
Parallel Interface, Memotech 64k
RAM, RS cassette recorder, large
library of software including-
QSAVE, Extended Basic, Sincartist,
Memotext WP, games. Available as
complete package or by piece. If
interested, please contact-
Richard Beier, 1 Darwin Dr., N.
Merrick, NY 11566. Leave Email on
CompuServe. ID# 73137,1565.
FOR SALE: ZEBRA one-drive disk
system. Comes complete with ex-
tension interface board and
formatting/demo disk. $200 ppd.
UPS. Also Gorilla/Banana full
sized Centronics parallel printer
with true descender modification
chip installed. $100 ppd. UPS.
Warren Jackson, 11141 Edgemere
Ter., Roscoe, IL 61073. Or leave
Email on Compuserve. ID# 73177,
1017.
MONEY MACHINE II starring Banna
Brite! All new format. Banna turns
the letters. The ultimate word
game for the TS2068 from ABBA
SOFT. $12 ppd. Herb Bowers, 2588
Woodshire Circle, Chesapeake, VA
age Se
SUBSCRIBERS
STAR TREK a Strategy Game for
the TS2068--7 levels of play.
Based on 1973 Public Domain
HP2000C version. Send. $8.00 to-
Michael E. Carver, 1016 NE
Tillamook, Portland, OR 97212.
FOR SALE: QL Computer, Sinclair
Monitor, QL Modaptor(modem)...
all BRAND NEW units in original
cartons. ALL FOR $400. Write or
call. John Willis, 10531 Galena
Star, Dallas, TX 75228. Phone
(409) 693-2249.
WANTED: Used TS2068 with power
supply; used 2050 modem with
power supply. Both good condition
and inexpensive. CALL or WRITE:
Don Hornberger, 8514 Mathilda #2,
St. Louis, MO 63123. Phone-
(314) 832-7434.
SINCUS NEWS-S$8/yr=6 issues.
TS2068 oriented user group news
letter- mail check to SINCUS,
1229 Rhodes Rd., Johnson City,
NY 13790; non-profit amateur
users oriented group.
SOFTWARE for the TS2068, Spectrum,
and TS1000. Send for free listing.
Price $5.00 and $2.00. All original
software. Garvin Bertrand, #311
135 Lynnview Rd. S.E., Calgary,
Alberta, Canada T2C 2G6. Tel: (403)
236-4465.
WANTED: Sinclair ZX80 (the original
ZX). Must be good condition and
working. Please send information
and price to- Tim Woods, c/o Time
Designs Magazine, 29722 Hult Rd.,
Colton, OR 97017.
WANTED: Hunter Board and/or other
TS1000 "what have you's". Contact-
Fred Henn, c/o Rockelman & Henn
Pump Co., Inc., 1333 Military Rd,
Buffalo, NY 14217.
TRADE: My Parallel Gorilla Banana
printer for a good Serial 64 col.
printer. Trade: My TS2068 Tasman
Parallel Interface for a good
Serial printer interface for the
2068. Trade: A very good Mindware
TS1000 printer for a TS2040
printer...also have extra TS1000.
Timothy J Herman, 100 Gilman St.
#13, Verona, WI 53593.
MONEY MACHINE I, $10 ppd. Money
Machine II, $12 ppd. On 2068
tape or Aerco 5.25" disk. Send
22-cent stamp for full catalog.
Chia-Chi Chao, 73 Sullivan Dr.,
Moraga, CA 94556-1209.
PROFILE Now On Wafadrive...SAVE &
LOAD to drive A/B or tape...Send
$9.95 + .50 w/your PROFILE tape or
a copy of your sales receipt and
a blank tape to: John Deering,
136 Neverbreak Dr., Hendersonville,
TN 37075.
BRAND NEW ITEMS FOR SALE: Two (2)
TS2068s...$75 each; one (1) TS1500
---935; one (1) Sears Personal
Typwriter/Printer (Serial)...S60;
one (1) rare Sinclair Spectrum
specially built for U.S....$75;
one (1) Sinclair Microdrive w/
Sinclair Interface One...$75; one
(1) Multiface(Romantic Robot) for
Spectrum...$35. New Damco Spectrm
Rainbow Interfaces for the 2068...
$29 each; misc. business software
for the wafadrive. Also one used
2040 printer...$15 (no p.s.).
Other items. Write for list.
Dave Maccarone, 67 Bradley Ct.,
Fall River, MA 02720.
2068 SOFTWARE: Send S.A.S.E. for
FREE CATALOG to- Timeware, Inc.,
1907 1/2 W. Genesee St., Syracuse,
NY 13204. |
BACK ISSUES OF TDM: All Vol.2
issues (6) are available...Nov/Dec
1985 thru Sept/Oct 1986 for $3
each ppd. Index to back issues in
Nov/Dec 1986 issue (also available
for $3 ppd.). No Vol.1 issues left
in stock...but collection of prog.-
articles, ect. is available called
"The Best of Time Designs Vol.1"
for $10 ppd. Send check/mo or
credit card info to- Time Designs,
29722 Hult Rd., Colton, OR 97017.
Quantities are limited.
Do you have some equipment or a program that you would like to sell? Looking for something hard to find? Place an
ad in THE CLASSIFIEDS! Subscribers can place one free personal ad in each issue. Ad size is 32 Col. wide (like 2040
paper) and maximum of six lines. For additional lines - $3 each. NON-SUBSCRIBERS and DEALERS: $4 a line.
DEADLINE FOR ALL CLASSIFIED ADS: Two weeks before publication date. Mail your ad to:
TIME DESIGNS MAGAZINE, The Classifieds Dept., 29722 Hult Rd., Colton, Oregon 97017.
WMJ DATA SYSTEMS
" "Serving the Timex/Sinclair community since 1983* *
e¢ Free shipping on all prepaid orders!
¢ Shipment within 24 hours on most of our orders!
¢ Your personal check is gladly accepted with no delay!
¢ C.0.D. phone orders accepted! (Shipping charges added)
TS1000
ACZ GENERAL LEDGER
TS1000
SUPERTAPE-45 PROGRAMS TS1000
TEXTWRITER 1000-32 col.
SPEECH SYNTHESIZER
STOCK PLOT
TS1000
TS1000
TS1000
$19.95
18.95
12.99
16.35
14.00
BOOKS AND ACCESSORIES
KRAFT SYSTEM JOYSTICKSTS2068 $ 9.95
HACKER’S HANDBOOK ALL 9.95
BASICS AND BEYOND TS2068 = 7.00
C10 CASSETTES 29 for 221.00
C20 CASSETTES 25:for. . .23.00
TS2068
ACZ GENERAL LEDGER TS2068 $19.95
THE DEALER’S DEN TS2068 19.95
MACHINE CODE TUTOR TS2068 18.50
TOMAHAWK TS2068 16.95
NIGHT GUNNER TS2068 16.95
FIGHTER PILOT TS2068 16.95
CRITICAL MASS TS2068 15.95
SABOTEUR TS2068 15.95
BASIC TOOLKIT TS2068 13.95
MSCRIPT (specify conf.) TS2068 24.95
DIAMOND MIKE TS2068 16.95
COLONIZE THE UNIVERSE TS2068 16.95
STOCK PLOT TS2068 16.00
All QUICKSILVA Software TS2068 CALL
WMJ DATA SYSTEMS—TD
4 Butterfly Drive
Hauppauge, NY 11788
(516) 543-5252 (2 p.m. - 5 p.m. Best)
FREE Apple, Atari, Commodore, IBM...Catalog
FREE Timex/Sinclair Catalog - Write or Give us a CALL!
WEYMIL presents...
A small collection of truly innovative products for Sinclair computers
NEW FOR 1987 !!
MULTI-TASKING ON THE TS 1000?
BELIEVE IT !!
WEYMIL continues to deliver:what everyone else says is “‘im-
possible.” What’s the hottest feature in computers today? MULTI-
TASKING! Until now, most people thought that you had to buy an
expensive 68000 machine for multi-tasking. Please allow us to in-
troduce NOVA 1000, the software that delivers MULTI-TASKING to
the TS 1000. No gimmicks, no tricks. A full multi-tasking environ-
ment for the TS 1000 at a very affordable price. Our developers
have outdone themselves on this one. Please read on.
NOVA 1000 comes complete with these powerful built-in features.
An honest-to-goodness switchable real-time clock that runs con-
current with your programs ON THE SCREEN. A switchable
automatic line tracer to allow you to follow the operation of your
BASIC programs. Switchable auto-repeat on all keys, just the
thing for creating long REM statements. There’s more.
Each copy of NOVA 1000 comes complete with 3 complete ver-
sions. Version 10 contains the complete NOVA 1000 program in
statement 0 REM to allow you to incorporate its features in many
existing programs or programs of your own design. Version 20
automatically locates itself to the 8 to 16K region for Hunter
Board of 64K applications. Version 30 automatically lowers RAM-
TOP for 16K configurations.
Consider these possible applications of NOVA 1000. A
background auto-dialer for BBS applications would allow your
computer to be used for other purposes while waiting for access.
The real-time display could be used to keep track of BBS time
usage, great for pay boards or long distance calls. Multiple M/C
programs can now be run simultaneously. The real-time clock can
be used as a timer to activate or de-activate several programs at
once. BASIC and M/C programs can be run together. Package M/C
programs as memory resident BATCH files. Create printer buffers
for W/P applications. Transfer data between two or more on-line
programs. Control multiple real-time !/O events for powerful low-
cost robotics. Monitor the actual running of BASIC programs
rather than just watching the results. There’s still more.
NOVA 1000 is very user-friendly and well-documented in laymen’s
language. You would expect a program with these features to be
memory intensive, NOVA 1000 uses only 512 bytes! NOVA 1000
does not slow down your computer. SLOW mode programs can
actually have speed increases up to 400%! Registered users will
receive FREE periodic application update sheets.
We feel confident that NOVA 1000 will redefine the standards for
TS 1000 programming. Consider this offer. If you can develop im-
aginative programming applications utilizing NOVA 1000, we will
provide our proven marketing expertise. We will handle advertis-
ing, distribution, and customer service PLUS pay you the most
competitive rates in the industry. All you have to do is create and
we'll take it from there. This offer is restricted to registered users.
NOVA 1000 for the TS 1000 only $ 20.00
TRACER TS2068
The perfect de-bugging tool for BASIC programs. This program
allows you to actually see each line of your BASIC program as it is
executed. This program prints not only the line number in use, but
the commands as well. It uses only the bottom of the screen for
display rather than interrupting the screen display. De-bugging
has never been easier.
TRACER FOR THE TS 2068 only $ 15.00
SOUNDESIGN TS2068
The best sound development program we’ve seen for the TS2068.
This program allows you to manipulate the sound chip of the TS
2068 in ways never before imagined. The sound effects, syn-
thesis, and music this program can create have to be heard to be
believed. Along with built-in sound routines, this software allows
you to develop and mix your own as well. Once you have created
the sound you want, all you have to do is press a key and you get a
print-out of the line of BASIC required for you:to implement that
sound in your favorite program. This program is not only a power-
ful utility for any software library, it is also just plain fun.
SOUNDESIGN for the TS 2068 only $ 15.00
SPECIAL OFFER!!!!
Save $ 5.00 when you order the combination of THRUST, RIGTER, JOYSTICK INTERFACE, and KRUNCHER 1000
and pay only $64.95
SHIPPING INSTRUCTIONS: Please enclose $2.00 shipping and handling with your order.
WEYMIL CORPORATION
Box 5904
Bellingham, WA 98227-5904
eS